public ValueProvider(HttpContext context, AcceptVerbs verb)
{
var queryString = context.Request.QueryString;
AppendValues(queryString.Value.TrimStart('?'));
if (verb != AcceptVerbs.Get)
{
var requestHeader = context.Request.Headers;
StringValues contentType;
if (requestHeader.TryGetValue("Content-Type", out contentType))
{
if (contentType.Any(x => x.Contains("application/x-www-form-urlencoded")))
{
var requestStream = context.Request.Body;
using (var sr = new StreamReader(new UnclosableStream(requestStream)))
{
var formUrlEncoded = sr.ReadToEnd();
AppendValues(formUrlEncoded);
}
requestStream.Position = 0; // rewind for custom use
}
}
}
}