-
-
Save leggetter/769688 to your computer and use it in GitHub Desktop.
private string GetDocumentContents(System.Web.HttpRequestBase Request) | |
{ | |
string documentContents; | |
using (Stream receiveStream = Request.InputStream) | |
{ | |
using (StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8)) | |
{ | |
documentContents = readStream.ReadToEnd(); | |
} | |
} | |
return documentContents; | |
} |
Thank you so much ... you saved my lots of time.
very nice snippet!
Thank you,but how to get the full body has finished loading the JS code.
You sould use the Request.ContentEncoding
private string GetDocumentContents(HttpRequestBase Request)
{
string documentContents;
using (Stream receiveStream = Request.InputStream)
{
using (StreamReader readStream = new StreamReader(receiveStream, Request.ContentEncoding))
{
documentContents = readStream.ReadToEnd();
}
}
return documentContents;
}
I am using this code inside a specflow step definiton to capture the body of http request like below.
but I am getting error. Can anybody help?
binding error: Parameter count mismatch! The binding method 'TestFeature.WhenBrowserPayLoadIsExtracted(HttpRequestBase)' should have 0 parameters
[When(@"Browser payload is extracted")]
private string WhenBrowserPayLoadIsExtracted(HttpRequestBase Request)
{
string documentContents;
using (Stream receiveStream = Request.InputStream)
{
using (StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8))
{
documentContents = readStream.ReadToEnd();
}
}
return documentContents;
}
thanks
public async static Task<string> GetBodyContentAsStringAsync(HttpRequestBase request)
{
string content = string.Empty;
using (Stream receiveStream = request.InputStream)
using (StreamReader readStream = new StreamReader(receiveStream, request.ContentEncoding))
{ content = await readStream.ReadToEndAsync(); }
return content;
}
Thanks, and modernized.
Also, depending on your system this is avaliable:
var rawMessage = await Request.Content.ReadAsStringAsync();
You should be careful with disposing! if you look at native BinaryRead method - it uses InputStream as well but does not dispose it.
nice!