Search Results for

    Show / Hide Table of Contents

    Class SessionEventArgsBase

    Holds info related to a single proxy session (single request/response exchange). Under HTTP/2 and HTTP/3, many sessions share one client connection (one stream each); ending a session ends that request/response exchange, not necessarily the connection.

    Inheritance
    object
    EventArgs
    ProxyEventArgsBase
    SessionEventArgsBase
    SessionEventArgs
    TunnelConnectSessionEventArgs
    Implements
    IDisposable
    Inherited Members
    ProxyEventArgsBase.ClientUserData
    EventArgs.Empty
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Titanium.Web.Proxy.EventArguments
    Assembly: Titanium.Web.Proxy.dll
    Syntax
    public abstract class SessionEventArgsBase : ProxyEventArgsBase, IDisposable

    Fields

    | Edit this page View Source

    BufferPool

    Declaration
    protected readonly IBufferPool BufferPool
    Field Value
    Type Description
    IBufferPool

    Properties

    | Edit this page View Source

    ClientConnectionId

    Identity of the inbound client transport connection. Multiplexed HTTP/2 and HTTP/3 streams that share one client connection expose the same value. Values are process-wide monotonic counters starting at 1 (wrapping back to 1 after MaxValue).

    Declaration
    public long ClientConnectionId { get; }
    Property Value
    Type Description
    long
    | Edit this page View Source

    ClientEndPoint

    Declaration
    [Obsolete("Use ClientRemoteEndPoint instead.")]
    public IPEndPoint ClientEndPoint { get; }
    Property Value
    Type Description
    IPEndPoint
    | Edit this page View Source

    ClientLocalEndPoint

    Client Local End Point.

    Declaration
    public IPEndPoint ClientLocalEndPoint { get; }
    Property Value
    Type Description
    IPEndPoint
    | Edit this page View Source

    ClientRemoteEndPoint

    Client Remote End Point.

    Declaration
    public IPEndPoint ClientRemoteEndPoint { get; }
    Property Value
    Type Description
    IPEndPoint
    | Edit this page View Source

    ConnectTimeout

    Per-session override for ConnectTimeOutSeconds. null uses the server default; Zero or negative disables the connect timeout. Set in BeforeRequest to speed up or slow down the TCP connect race for this individual request.

    Declaration
    public TimeSpan? ConnectTimeout { get; set; }
    Property Value
    Type Description
    TimeSpan?
    | Edit this page View Source

    CustomUpStreamProxy

    Gets or sets the custom up stream proxy.

    Declaration
    public IExternalProxy? CustomUpStreamProxy { get; set; }
    Property Value
    Type Description
    IExternalProxy

    The custom up stream proxy.

    | Edit this page View Source

    CustomUpStreamProxyUsed

    Are we using a custom upstream HTTP(S) proxy?

    Declaration
    public IExternalProxy? CustomUpStreamProxyUsed { get; }
    Property Value
    Type Description
    IExternalProxy
    | Edit this page View Source

    EnableWinAuth

    Enable/disable Windows Authentication (NTLM/Kerberos) for the current session.

    Declaration
    public bool EnableWinAuth { get; set; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    Exception

    The last exception that happened.

    Declaration
    public Exception? Exception { get; }
    Property Value
    Type Description
    Exception
    | Edit this page View Source

    HttpClient

    The web client used to communicate with server for this session.

    Declaration
    public HttpWebClient HttpClient { get; }
    Property Value
    Type Description
    HttpWebClient
    | Edit this page View Source

    IsHttps

    Does this session uses SSL?

    Declaration
    public bool IsHttps { get; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    IsSocks

    Is this a SOCKS endpoint?

    Declaration
    public bool IsSocks { get; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    IsTransparent

    Is this a transparent endpoint (TCP or QUIC)?

    Declaration
    public bool IsTransparent { get; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    LocalEndPoint

    Declaration
    [Obsolete("Use ProxyEndPoint instead.")]
    public ProxyEndPoint LocalEndPoint { get; }
    Property Value
    Type Description
    ProxyEndPoint
    | Edit this page View Source

    Logger

    The live logger for the ProxyServer that owns this session. Always reads the server's current logger rather than a value snapshotted at session creation, so a logger replaced via ApplyLoggingConfiguration() is picked up immediately.

    Declaration
    protected ILogger Logger { get; }
    Property Value
    Type Description
    ILogger
    | Edit this page View Source

    ProxyEndPoint

    Local endpoint via which we make the request.

    Declaration
    public ProxyEndPoint ProxyEndPoint { get; }
    Property Value
    Type Description
    ProxyEndPoint
    | Edit this page View Source

    ServerConnectionId

    Identity of the upstream origin transport connection when one has been acquired for this session; otherwise 0. Multiplexed HTTP/2 and HTTP/3 sessions that share one origin connection expose the same value. This does not imply per-session pool ownership of that connection. Values are process-wide monotonic counters starting at 1 (wrapping back to 1 after MaxValue).

    Declaration
    public long ServerConnectionId { get; }
    Property Value
    Type Description
    long
    | Edit this page View Source

    ServerIpAddress

    IP address of ServerRemoteEndPoint.

    Declaration
    public IPAddress? ServerIpAddress { get; }
    Property Value
    Type Description
    IPAddress
    | Edit this page View Source

    ServerRemoteEndPoint

    Physical peer of the established upstream connection (no second DNS lookup). Available after the server connection is established (for example in BeforeResponse), including multiplexed HTTP/2 and HTTP/3 sessions that bind identity without transferring HTTP/1.1 TCP ownership. When an upstream HTTP/SOCKS proxy is used, this is the proxy hop endpoint, not the origin server. null when no upstream connection exists (for example a synthetic local response).

    Declaration
    public IPEndPoint? ServerRemoteEndPoint { get; }
    Property Value
    Type Description
    IPEndPoint
    | Edit this page View Source

    Timing

    Structured timing for this session's request/response exchange, populated only when EnableRequestTimingCapture is enabled (otherwise null and no timing overhead is incurred anywhere in the proxy). See HttpRequestTiming.

    Declaration
    public HttpRequestTiming? Timing { get; }
    Property Value
    Type Description
    HttpRequestTiming
    | Edit this page View Source

    UpstreamConnectionTiming

    Structured timing for the upstream connection currently used by this session, populated only when EnableRequestTimingCapture is enabled, including multiplexed HTTP/2 and HTTP/3 sessions that bind identity without transferring HTTP/1.1 TCP ownership (those sharing one origin connection expose the same instance). null when timing capture is disabled or no upstream connection has been acquired yet (e.g. the request was answered synthetically). See UpstreamConnectionTiming.

    Declaration
    public UpstreamConnectionTiming? UpstreamConnectionTiming { get; }
    Property Value
    Type Description
    UpstreamConnectionTiming
    | Edit this page View Source

    UserData

    Returns a user data for this request/response session which is same as the user data of HttpClient.

    Declaration
    public object? UserData { get; set; }
    Property Value
    Type Description
    object
    | Edit this page View Source

    WebSession

    Declaration
    [Obsolete("Use HttpClient instead.")]
    public HttpWebClient WebSession { get; }
    Property Value
    Type Description
    HttpWebClient

    Methods

    | Edit this page View Source

    Dispose()

    Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

    Declaration
    public void Dispose()
    | Edit this page View Source

    Dispose(bool)

    Declaration
    protected virtual void Dispose(bool disposing)
    Parameters
    Type Name Description
    bool disposing
    | Edit this page View Source

    OnException(Exception)

    Declaration
    protected void OnException(Exception exception)
    Parameters
    Type Name Description
    Exception exception
    | Edit this page View Source

    TerminateSession()

    Terminates the session abruptly by terminating client/server connections.

    Declaration
    public void TerminateSession()

    Events

    | Edit this page View Source

    DataReceived

    Fired when data is received within this session from client/server.

    Declaration
    public event EventHandler<DataEventArgs>? DataReceived
    Event Type
    Type Description
    EventHandler<DataEventArgs>
    | Edit this page View Source

    DataSent

    Fired when data is sent within this session to server/client.

    Declaration
    public event EventHandler<DataEventArgs>? DataSent
    Event Type
    Type Description
    EventHandler<DataEventArgs>

    Implements

    IDisposable
    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX