Class ServerChatter
The ServerChatter object is responsible for transmitting the Request to the destination server and retrieving its Response.
Inherited Members
Namespace: Fiddler
Assembly: FiddlerCore.dll
Syntax
public class ServerChatter : ChatterBase
Remarks
This class maintains its own PipeReadBuffer that it fills from the created or reused ServerPipe. After it determines that a complete response is present, it allows the caller to grab that array using the TakeEntity method. If unsatisfied with the result (e.g. a network error), the caller can call Initialize() and SendRequest() again.
Fields
m_lngLeakedOffset
Indicates how much of _responseData buffer has already been streamed to the client
Declaration
protected long m_lngLeakedOffset
Field Value
System.
|
m_session
The session to which this ServerChatter belongs
Declaration
protected Session m_session
Field Value
pipeServer
The pipeServer represents Fiddler's connection to the server.
Declaration
public ServerPipe pipeServer
Field Value
Properties
bServerSocketReused
Was this request serviced from a reused server connection?
Declaration
public bool bServerSocketReused { get; }
Property Value
System.
|
bWasForwarded
Was this request forwarded to a gateway?
Declaration
public bool bWasForwarded { get; set; }
Property Value
System.
|
data
The stream that holds the server response.
Declaration
protected override MemoryStream data { get; }
Property Value
System.
|
Overrides
headers
The HTTP headers of the server's response
Declaration
public HTTPResponseHeaders headers { get; set; }
Property Value
isRequest
This is a server connection -> return false for isRequest
Declaration
protected override bool isRequest { get; }
Property Value
System.
|
Overrides
Item[String]
Simple indexer into the Response Headers object
Declaration
public string this[string sHeader] { get; set; }
Parameters
System.
|
Property Value
System.
|
iTTFB
DEPRECATED: You should use the Timers object on the Session object instead. The number of milliseconds between the start of sending the request to the server to the first byte of the server's response
Declaration
public int iTTFB { get; }
Property Value
System.
|
iTTLB
DEPRECATED: You should use the Timers object on the Session object instead. The number of milliseconds between the start of sending the request to the server to the last byte of the server's response.
Declaration
public int iTTLB { get; }
Property Value
System.
|
MIMEType
Get the MIME type (sans Character set or other attributes) from the HTTP Content-Type response header, or String.Empty if missing.
Declaration
public string MIMEType { get; }
Property Value
System.
|
trailers
The HTTP trailers of the server's response
Declaration
public HTTPResponseHeaders trailers { get; set; }
Property Value
Methods
_deleteInformationalMessage()
Deletes a single HTTP/1xx header block from the Response stream and adjusts all header-reading state to start over from the top of the stream. Note: If 'fiddler.network.leakhttp1xx' is TRUE, then the 1xx message will have been leaked before calling this method.
Declaration
protected virtual void _deleteInformationalMessage()
_EnableStreamingIfAppropriate()
When the headers first arrive, update bBufferResponse based on their contents.
Declaration
protected void _EnableStreamingIfAppropriate()
ClearHeaders()
Clear headers so they can be read again
Declaration
protected void ClearHeaders()
LeakResponseBytesAsync()
Leak the current bytes of the response to client. We wait for the full header set before starting to stream for a variety of impossible-to-change reasons.
Declaration
protected Task<bool> LeakResponseBytesAsync()
Returns
System. Returns TRUE if response bytes were leaked, false otherwise (e.g. write error). THROWS if "fiddler.network.streaming.abortifclientaborts" is TRUE |
ParseResponseForHeaders(String[])
Parse the HTTP Response for Headers.
Declaration
protected virtual bool ParseResponseForHeaders(string[] arrHeaderLines)
Parameters
System.
|
Returns
System. True if headers were created |