Search Results for

    Show / Hide Table of Contents

    Class BeforeQuicAuthenticateEventArgs

    Event arguments raised on a TransparentQuicProxyEndPoint before the QUIC TLS handshake completes, analogous to BeforeSslAuthenticateEventArgs for transparent TCP endpoints.

    Unlike its TCP counterpart, this event does not expose a DecryptSsl property: QUIC always terminates TLS 1.3 at the proxy — there is no pass-through mode. Calling Reject() is the only way to refuse the connection before the handshake finishes.

    Thread-safety: each inbound QUIC connection fires a dedicated instance of this event on its own accept task. Handlers that mutate shared state must synchronize themselves.

    Experimental: HTTP/3 support has not yet completed the full interop/soak/fuzz gate process. Suppress TWP001 to opt in.

    Inheritance
    object
    EventArgs
    BeforeQuicAuthenticateEventArgs
    Inherited Members
    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
    [Experimental("TWP001")]
    public class BeforeQuicAuthenticateEventArgs : EventArgs

    Properties

    | Edit this page View Source

    AllowHttpProtocolTranslation

    Whether the proxy may bridge a mismatch between the inbound H3 client and the outbound protocol implied by UpstreamHttpProtocol. For example, when true and Http11 is set, inbound H3 streams are bridged to HTTP/1.1 origin requests. Defaults to true for QUIC endpoints (H3 clients reaching an H1/H2 origin is the common transparent-proxy case). Mirrors AllowHttpProtocolTranslation.

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

    CustomUpStreamProxy

    Per-connection upstream proxy override. null uses the server-level UpStreamHttpsProxy setting.

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

    ForwardHost

    Per-connection forward target host override. Defaults to OriginalDestinationHost. Mirrors ForwardHttpsHostName.

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

    ForwardPort

    Per-connection forward target port override. Defaults to OriginalDestinationPort. Mirrors ForwardHttpsPort.

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

    LocalEndPoint

    The local UDP endpoint the proxy is listening on.

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

    OriginalDestinationHost

    The pre-NAT original destination hostname resolved by the configured IOriginalDestinationResolver, or the endpoint's ForwardHost fallback.

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

    OriginalDestinationPort

    The pre-NAT original destination port.

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

    RemoteEndPoint

    The remote UDP endpoint of the QUIC client.

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

    SniHostName

    The SNI hostname from the QUIC ClientHello, or null if the client did not supply SNI. Do not use this as the authoritative original destination — always prefer OriginalDestinationHost resolved by the configured IOriginalDestinationResolver.

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

    UpstreamHttpProtocol

    Controls which HTTP version the proxy uses on its own outbound connection to the origin for all streams on this QUIC connection. Each stream may further override this per-request via UpstreamHttpProtocol in BeforeRequest.

    Declaration
    public UpstreamHttpProtocol UpstreamHttpProtocol { get; set; }
    Property Value
    Type Description
    UpstreamHttpProtocol
    Exceptions
    Type Condition
    ArgumentOutOfRangeException

    The value is not a defined UpstreamHttpProtocol member.

    Methods

    | Edit this page View Source

    Reject()

    Rejects the QUIC connection by cancelling the accept task. The QUIC handshake will not complete and the client connection will be closed.

    Declaration
    public void Reject()
    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX