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
idProvider
IIdProviderauthority
AuthorityrequestHeaderPlain
ReadOnlyMemory<char>httpVersion
stringreceivedFromProxy
DateTime
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
idProvider
IIdProvidercontext
ExchangeContextauthority
AuthorityrequestHeader
RequestHeaderbodyStream
StreamhttpVersion
stringreceivedFromProxy
DateTime
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
idProvider
IIdProvidercontext
ExchangeContextauthority
AuthorityrequestHeaderPlain
ReadOnlyMemory<char>requestBody
StreamresponseHeader
ReadOnlyMemory<char>responseBody
StreamisSecure
boolhttpVersion
stringreceivedFromProxy
DateTime
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()