public static HttpRequestMessage GetOrCreateHttpRequestMessage(this HttpContextBase context) { if (context == null) { throw Error.ArgumentNull("context"); } HttpRequestMessage request = context.GetHttpRequestMessage(); if (request == null) { request = HttpControllerHandler.ConvertRequest(context); context.SetHttpRequestMessage(request); } return(request); }
protected override bool ProcessConstraint(HttpContextBase httpContext, object constraint, string parameterName, RouteValueDictionary values, RouteDirection routeDirection) { IHttpRouteConstraint httpRouteConstraint = constraint as IHttpRouteConstraint; if (httpRouteConstraint != null) { HttpRequestMessage request = httpContext.GetHttpRequestMessage(); if (request == null) { request = HttpControllerHandler.ConvertRequest(httpContext); httpContext.SetHttpRequestMessage(request); } return(httpRouteConstraint.Match(request, HttpRoute, parameterName, values, ConvertRouteDirection(routeDirection))); } return(base.ProcessConstraint(httpContext, constraint, parameterName, values, routeDirection)); }