Class
ServerChatter

The ServerChatter object is responsible for transmitting the Request to the destination server and retrieving its Response.

Definition

Fields

m_lngLeakedOffset

Indicates how much of _responseData buffer has already been streamed to the client

Declaration

cs-api-definition
protected long m_lngLeakedOffset

Field Value

long

m_session

The session to which this ServerChatter belongs

Declaration

cs-api-definition
protected Session m_session

Field Value

Session

pipeServer

The pipeServer represents Fiddler's connection to the server.

Declaration

cs-api-definition
public ServerPipe pipeServer

Field Value

ServerPipe

Properties

MIMEType

Get the MIME type (sans Character set or other attributes) from the HTTP Content-Type response header, or String.Empty if missing.

Declaration

cs-api-definition
public string MIMEType { get; }

Property Value

string

bServerSocketReused

Was this request serviced from a reused server connection?

Declaration

cs-api-definition
public bool bServerSocketReused { get; }

Property Value

bool

bWasForwarded

Was this request forwarded to a gateway?

Declaration

cs-api-definition
public bool bWasForwarded { get; set; }

Property Value

bool

data

The stream that holds the server response.

Declaration

cs-api-definition
protected override MemoryStream data { get; }

Property Value

MemoryStream

Overrides ChatterBase.data

headers

The HTTP headers of the server's response

Declaration

cs-api-definition
public HTTPResponseHeaders headers { get; set; }

Property Value

HTTPResponseHeaders

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

cs-api-definition
public int iTTFB { get; }

Property Value

int

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

cs-api-definition
public int iTTLB { get; }

Property Value

int

isRequest

This is a server connection -> return false for isRequest

Declaration

cs-api-definition
protected override bool isRequest { get; }

Property Value

bool

Overrides ChatterBase.isRequest

this[string]

Simple indexer into the Response Headers object

Declaration

cs-api-definition
public string this[string sHeader] { get; set; }

Parameters

sHeader

string

Property Value

string

trailers

The HTTP trailers of the server's response

Declaration

cs-api-definition
public HTTPResponseHeaders trailers { get; set; }

Property Value

HTTPResponseHeaders

Methods

ClearHeaders()

Clear headers so they can be read again

Declaration

cs-api-definition
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

cs-api-definition
protected Task<bool> LeakResponseBytesAsync()

Returns

Task<bool>

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

cs-api-definition
protected virtual bool ParseResponseForHeaders(string[] arrHeaderLines)

Parameters

arrHeaderLines

string[]

Returns

bool

True if headers were created

_EnableStreamingIfAppropriate()

When the headers first arrive, update bBufferResponse based on their contents.

Declaration

cs-api-definition
protected void _EnableStreamingIfAppropriate()

_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

cs-api-definition
protected virtual void _deleteInformationalMessage()