¿Cómo acceder al objeto HttpRequestMessage actual globalmente?

Tengo un método que crea un HttpResponseMessage que contiene un objeto de error que se devolverá en función del formateador de tipo de medios de solicitud actual.

Actualmente, he codificado el XmlMediaTypeFormatter pero me gustaría poder encontrar la solicitud actual de MediaTypeFormatter en tiempo de ejecución, pero no tengo acceso al objeto de solicitud actual ya que mi código de abajo existe en una biblioteca de clases separada.

private HttpResponseMessage Create(HttpStatusCode statusCode, string errorCode, string errorMessage)
{
    var result = new HttpResponseMessage(statusCode)
        {
            Content = new ObjectContent<Error>(new Error()
            {
                Code = errorCode,
                Message = errorMessage
            }, new XmlMediaTypeFormatter())
        };
    return result;
}

¿Cómo acceder al objeto HttpRequestMessage actual globalmente? algo como HttpContext.Current.Request

Si es imposible, ¿cómo implementar el método anterior para que sepa qué formateador debería usar para la solicitud actual?

Respuestas a la pregunta(2)

Su respuesta a la pregunta