title: How to access the current HttpRequestMessage object globally?
body: <p>I have a method which creates an HttpResponseMessage containing an Error object which will be returned based on the current request media type formatter.</p>
  
  <p>Currently, I have hardcoded the XmlMediaTypeFormatter but I'd like to be able to find the current request MediaTypeFormatter at runtime but I don't have access to the current request object since my below code exists on a separate class library.</p>
  
  <pre><code>private HttpResponseMessage Create(HttpStatusCode statusCode, string errorCode, string errorMessage)
  {
      var result = new HttpResponseMessage(statusCode)
          {
              Content = new ObjectContent&lt;Error&gt;(new Error()
              {
                  Code = errorCode,
                  Message = errorMessage
              }, new XmlMediaTypeFormatter())
          };
      return result;
  }
  </code></pre>
  
  <p>How to access the current HttpRequestMessage object globally? something like HttpContext.Current.Request</p>
  
  <p>If impossible, how to implement the above method so that it knows which formatter it should be using for the current request?</p>