Class Exchange
public class Exchange : IExchange
- Inheritance
-
Exchange
- Implements
- Inherited Members
- Extension Methods
Constructors
Exchange(IIdProvider, Authority, ReadOnlyMemory<char>, string?, DateTime)
Creating exchange from handler
public Exchange(IIdProvider idProvider, Authority authority, ReadOnlyMemory<char> requestHeaderPlain, string? httpVersion, DateTime receivedFromProxy)
Parameters
idProviderIIdProviderauthorityAuthorityrequestHeaderPlainReadOnlyMemory<char>httpVersionstringreceivedFromProxyDateTime
Exchange(IIdProvider, ExchangeContext, Authority, RequestHeader, Stream, string, DateTime)
runtime constructor
public Exchange(IIdProvider idProvider, ExchangeContext context, Authority authority, RequestHeader requestHeader, Stream bodyStream, string httpVersion, DateTime receivedFromProxy)
Parameters
idProviderIIdProvidercontextExchangeContextauthorityAuthorityrequestHeaderRequestHeaderbodyStreamStreamhttpVersionstringreceivedFromProxyDateTime
Properties
Agent
public Agent? Agent { get; set; }
Property Value
Authority
The remote authority
public Authority Authority { get; set; }
Property Value
ClientErrors
public List<ClientError> ClientErrors { get; }
Property Value
Comment
public string? Comment { get; set; }
Property Value
Connection
Connection used by this exchange. The connection object is the connection open between the proxy and the remote server
public Connection? Connection { get; set; }
Property Value
Context
public ExchangeContext Context { get; }
Property Value
EgressIp
public string? EgressIp { get; }
Property Value
Errors
Contains a list of errors
public List<Error> Errors { get; }
Property Value
FullUrl
public string FullUrl { get; }
Property Value
HttpVersion
public string HttpVersion { get; set; }
Property Value
Id
public int Id { get; }
Property Value
IsWebSocket
public bool IsWebSocket { get; }
Property Value
KnownAuthority
public string KnownAuthority { get; }
Property Value
KnownPort
public int KnownPort { get; }
Property Value
Method
public string Method { get; }
Property Value
Metrics
Represents timing and size metrics related to this exchange
public ExchangeMetrics Metrics { get; }
Property Value
Path
public string Path { get; }
Property Value
Request
Contains the request sent from the proxy to the remote server
public Request Request { get; }
Property Value
Response
Contains the response of the remote server to the proxy
public Response Response { get; }
Property Value
RunInLiveEdit
public bool RunInLiveEdit { get; set; }
Property Value
StatusCode
public int StatusCode { get; }
Property Value
Step
public ExchangeStep Step { get; set; }
Property Value
Tags
public HashSet<Tag>? Tags { get; set; }
Property Value
WebSocketMessages
public List<WsMessage>? WebSocketMessages { get; set; }
Property Value
Methods
CreateUntrackedExchange(IIdProvider, ExchangeContext, Authority, ReadOnlyMemory<char>, Stream, ReadOnlyMemory<char>, Stream, bool, string, DateTime)
public static Exchange CreateUntrackedExchange(IIdProvider idProvider, ExchangeContext context, Authority authority, ReadOnlyMemory<char> requestHeaderPlain, Stream requestBody, ReadOnlyMemory<char> responseHeader, Stream responseBody, bool isSecure, string httpVersion, DateTime receivedFromProxy)
Parameters
idProviderIIdProvidercontextExchangeContextauthorityAuthorityrequestHeaderPlainReadOnlyMemory<char>requestBodyStreamresponseHeaderReadOnlyMemory<char>responseBodyStreamisSecureboolhttpVersionstringreceivedFromProxyDateTime
Returns
GetMetricsSummaryAsHeader()
Get performance metrics as header field
public HeaderField GetMetricsSummaryAsHeader()
Returns
GetRequestHeaders()
public IEnumerable<HeaderFieldInfo> GetRequestHeaders()
Returns
GetResponseHeaders()
public IEnumerable<HeaderFieldInfo>? GetResponseHeaders()
Returns
ShouldClose()
public bool ShouldClose()