"FWIW, request streaming was added to a later version of Fiddler; see the
BufferRequest
property. – EricLaw Mar 1 '16 at 17:51"https://groups.google.com/forum/m/#!msg/httpfiddler/LHaypbyWsKc/0cxvnVgVJgAJ
Yes, the problem you're encountering is that you're trying to emulate a WebSocket (bidirectional streaming) atop a technology (HTTP) that wasn't really designed for that purpose.
You can probably make this work by enabling Request Streaming AND Response Streaming on the connection. As explained in the Fiddler Book:
Request Buffering
When a client connects to Fiddler, Fiddler will, by default, read the entire HTTP request from the client. If a breakpoint is set, the request is then paused to allow tampering using the Inspectors. After the request is resumed, the server connection is established and Fiddler transmits the entire request to the server. Fiddler offers a mechanism to stream a HTTP request body to the server as it is read from the client. This is primarily useful if you need to use Fiddler to transmit uploads larger than 2 gigabytes, because .NET is unable to buffer arrays of that size.
To activate request streaming, you must set the BufferRequest property on the Session’s Request object to false before the request body is read. Inside FiddlerScript’s OnPeekAtRequestHeaders function (you may need to uncomment it), add code similar to the following:
// Code modified from the book example to be specific to your scenario
if (oSession.host.Contains("whate ver.com") &&
oSession.oRequest.headers. ExistsAndContains("Transfer- Encoding", "chunked")) {
oSession["ui-backcolor"] = "orange";
oSession.oRequest. BufferRequest = false;
oSession.oRequest.
oSession.bBufferResponse = false;
}
Streamed requests cannot be modified using Fiddler’s Inspectors.
No comments:
Post a Comment