Class
ServerPipe

A ServerPipe wraps a socket connection to a server.

Definition

Namespace:Fiddler

Assembly:FiddlerCore.dll

Syntax:

cs-api-definition
public class ServerPipe : BasePipe

Inheritance: objectBasePipeServerPipe

Inherited Members BasePipe.clientPipeNameBasePipe.serverPipeNameBasePipe._baseSocketBasePipe.iUseCountBasePipe._httpsStreamBasePipe._sPipeNameBasePipe.SendLockBasePipe.InitializeHTTP2PipeAsync()BasePipe.HasDataAvailable()BasePipe.UseCustomTlsProvider()BasePipe.SendAsync(byte[])BasePipe.GetRawSocket()BasePipe.EndAsync(ErrorCode, string)BasePipe.EndWithRST()BasePipe.SendDataAsync(byte[], int, int, uint, bool)BasePipe.SendRequestHeadersAsync(HTTPRequestHeaders, uint, bool, string, bool?)BasePipe.SendResponseHeadersAsync(HTTPResponseHeaders, uint?, bool?, bool, bool)BasePipe.ConnectedBasePipe.bIsSecuredBasePipe.SecureProtocolBasePipe.PortBasePipe.LocalPortBasePipe.AddressBasePipe.TransmitDelayBasePipe.IsHTTP2BasePipe.OnConnectionClosedobject.GetType()object.MemberwiseClone()object.Equals(object)object.Equals(object, object)object.ReferenceEquals(object, object)object.GetHashCode()

Fields

_bIsConnectedToGateway

Returns TRUE if this ServerPipe is connected to a Gateway

Declaration

cs-api-definition
protected bool _bIsConnectedToGateway

Field Value

bool

_sPoolKey

The Pooling key used for reusing a previously pooled ServerPipe. See sPoolKey property.

Declaration

cs-api-definition
protected string _sPoolKey

Field Value

string

Properties

CertificateChainErrors

Stores a list of errors for each Element of the Certificate Chain First element in the list is the Server certificate and each following element follows the certificate chain (the last element should be the CA certificate)

Declaration

cs-api-definition
public List<List<X509ChainStatus>> CertificateChainErrors { get; set; }

Property Value

List<List<X509ChainStatus>>

ConnectSessionId

Gets the ID of the session containing the CONNECT client request for this connection

Declaration

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

Property Value

int

ConnectSessionTimers

Gets the session timers instance for the CONNECT client request session for this connection

Declaration

cs-api-definition
public SessionMetrics ConnectSessionTimers { get; }

Property Value

SessionMetrics

InitiatorSessionId

Gets the first recorded session for this connection

Declaration

cs-api-definition
public int? InitiatorSessionId { get; }

Property Value

int?

RemoteEndPoint

Returns the IPEndPoint to which this socket is connected, or null

Declaration

cs-api-definition
public IPEndPoint RemoteEndPoint { get; }

Property Value

IPEndPoint

ReusePolicy

Policy for reuse of this pipe

Declaration

cs-api-definition
public PipeReusePolicy ReusePolicy { get; set; }

Property Value

PipeReusePolicy

ServerCertificate

If this is a "secure" HTTPS connection, returns the server's Certificate

Declaration

cs-api-definition
public X509Certificate2 ServerCertificate { get; }

Property Value

X509Certificate2

ServerCertificatePolicyErrors

Returns the status of the SslPolicyErrors during the handshake. Should be SslPolicyErrors.None for valid certificates

Declaration

cs-api-definition
public SslPolicyErrors? ServerCertificatePolicyErrors { get; set; }

Property Value

SslPolicyErrors?

isConnectedToGateway

Indicates if this pipe is connected to an upstream (non-SOCKS) Proxy.

Declaration

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

Property Value

bool

isConnectedViaSOCKS

Indicates if this pipe is connected to a SOCKS gateway

Declaration

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

Property Value

bool

sPoolKey

Gets and sets the pooling key for this server pipe.

Declaration

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

Property Value

string

Methods

DescribeConnectionSecurity()

Return a string describing the HTTPS connection security, if this socket is secured

Declaration

cs-api-definition
public string DescribeConnectionSecurity()

Returns

string

A string describing the HTTPS connection's security.

GetNextStreamId()

Calculates the next stream ID to use when sending a request through the server pipe

Declaration

cs-api-definition
public uint GetNextStreamId()

Returns

uint

The new stream id

GetSha256Thumbprint(X509Certificate2)

Computes the SHA256 thumbprint of a X509 certificate

Declaration

cs-api-definition
public static string GetSha256Thumbprint(X509Certificate2 cert)

Parameters

cert

X509Certificate2

Returns

string

SHA256 thumbprint

ToString()

Returns a semicolon-delimited string describing this ServerPipe

Declaration

cs-api-definition
public override string ToString()

Returns

string

A semicolon-delimited string

Overrides object.ToString()