Table of Contents

Class ExchangeContext

Namespace
Fluxzy.Core
Assembly
Fluxzy.Core.dll

Holds the mutable state of the ongoing exchange

public class ExchangeContext
Inheritance
ExchangeContext
Inherited Members

Constructors

ExchangeContext(IAuthority, VariableContext, FluxzySetting?)

public ExchangeContext(IAuthority authority, VariableContext variableContext, FluxzySetting? fluxzySetting)

Parameters

authority IAuthority
variableContext VariableContext
fluxzySetting FluxzySetting

Properties

Abort

Abort the current exchange

public bool Abort { get; set; }

Property Value

bool

Authority

Remote authority, this value is used to build the host header on H11/request and :authority pseudo header on H2/request

public IAuthority Authority { get; set; }

Property Value

IAuthority

BlindMode

true if fluxzy should not decrypt this exchange

public bool BlindMode { get; set; }

Property Value

bool

BreakPointContext

Holds information about a breakpoint context.

public BreakPointContext? BreakPointContext { get; set; }

Property Value

BreakPointContext

ClientCertificates

Client certificate for this exchange

public X509Certificate2Collection? ClientCertificates { get; set; }

Property Value

X509Certificate2Collection

DownStreamLocalAddressStruct

Gets or sets the down stream local IP address of the struct.

public IPAddress DownStreamLocalAddressStruct { get; set; }

Property Value

IPAddress

The down stream local IP address.

FluxzySetting

The proxy setting

public FluxzySetting? FluxzySetting { get; }

Property Value

FluxzySetting

ForceNewConnection

If true, fluxzy will not try to reuse an existing connection

public bool ForceNewConnection { get; set; }

Property Value

bool

PreMadeResponse

Provide a premade response (a mock)

public PreMadeResponse? PreMadeResponse { get; set; }

Property Value

PreMadeResponse

ProxyListenPort

Information about the proxy port that has been used to retrieve the ongoing exchange

public int ProxyListenPort { get; }

Property Value

int

ProxyTlsProtocols

Available TLS protocols, leave null to use default

public SslProtocols ProxyTlsProtocols { get; set; }

Property Value

SslProtocols

RemoteHostIp

Host IP that shall be used instead of a classic DNS resolution

public IPAddress? RemoteHostIp { get; set; }

Property Value

IPAddress

RemoteHostPort

Port of substitution

public int? RemoteHostPort { get; set; }

Property Value

int?

RequestBodySubstitution

Gets or sets the request body substitution.

public IStreamSubstitution? RequestBodySubstitution { get; set; }

Property Value

IStreamSubstitution

RequestHeaderAlterations

Gets or sets the list of header alterations for the request.

public List<HeaderAlteration> RequestHeaderAlterations { get; }

Property Value

List<HeaderAlteration>

The list of HeaderAlteration objects representing the header alterations for the request.

ResponseBodySubstitution

Gets or sets the substitution for the response body.

public IStreamSubstitution? ResponseBodySubstitution { get; set; }

Property Value

IStreamSubstitution

ResponseHeaderAlterations

Gets or sets the list of response header alterations.

public List<HeaderAlteration> ResponseHeaderAlterations { get; }

Property Value

List<HeaderAlteration>

The list of response header alterations.

Secure

If the ongoing connection to Authority should use TLS

public bool Secure { get; set; }

Property Value

bool

ServerCertificate

public X509Certificate2? ServerCertificate { get; set; }

Property Value

X509Certificate2

SkipRemoteCertificateValidation

Don't validate the remote certificate

public bool SkipRemoteCertificateValidation { get; set; }

Property Value

bool

SslApplicationProtocols

Available ALPN protocols, leave null to use default

public List<SslApplicationProtocol>? SslApplicationProtocols { get; set; }

Property Value

List<SslApplicationProtocol>

VariableBuildingContext

Information about the ongoing exchange and connection

public VariableBuildingContext? VariableBuildingContext { get; }

Property Value

VariableBuildingContext

VariableContext

Gets the variable context associated with the current object.

public VariableContext VariableContext { get; }

Property Value

VariableContext

The variable context associated with the current object.

Remarks

The VariableContext property provides access to the variable context, which represents the scope and lifetime of variables used within the current object. The variable context stores variables as key-value pairs and allows access to their values.