Search Results for

    Show / Hide Table of Contents

    Class ProxyLimits

    Reference values for a handful of resource-limit defaults, kept here for documentation and cross-checking purposes.

    Inheritance
    object
    ProxyLimits
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Titanium.Web.Proxy
    Assembly: Titanium.Web.Proxy.dll
    Syntax
    public static class ProxyLimits
    Remarks

    These fields are static readonly, not const, so that if a later release changes one of these reference values, a consumer that has not recompiled still picks up the new value from the referenced Titanium.Web.Proxy.dll at load time rather than keeping a stale value inlined by the compiler into their own assembly.

    These fields cannot be "overridden by assigning them before starting the proxy": they are readonly, so external code cannot assign to them at all (that would be a compile error). Only DefaultMaxChunkSizeBytes is actually read by any live code path (by ChunkSizeParser.TryParse's call sites in HttpStream/LimitedStream); every other field below documents a value that is independently hardcoded as the real default on the corresponding ProxyServer (or, for authentication rounds, WinAuthHandler) property, and is not consulted by that property's own default or by any enforcement path. Treat the fields below other than DefaultMaxChunkSizeBytes as documentation of what each corresponding property's shipped default currently is, not as the mechanism that produces it: to change a limit at runtime, set the actual ProxyServer property (e.g. ProxyServer.MaxBufferedBodyBytes), never the field here.

    Fields

    | Edit this page View Source

    DefaultMaxAuthRounds

    Reference value only - see the type-level remarks. Matches WinAuthHandler.MaxAuthChallengeRounds: maximum number of authentication challenge rounds allowed per request (e.g. NTLM three-way handshake counts as one round; additional 401/407 responses count separately). The two values are independently maintained, not linked. Default: 3.

    Declaration
    public static readonly int DefaultMaxAuthRounds
    Field Value
    Type Description
    int
    | Edit this page View Source

    DefaultMaxBufferedBodyBytes

    Reference value only - see the type-level remarks. Matches the current default of ProxyServer.MaxBufferedBodyBytes: maximum buffered request or response body size for proxied exchanges where full buffering is required (body mutation, authentication retry, etc.). Default: 4 MiB.

    Declaration
    public static readonly long DefaultMaxBufferedBodyBytes
    Field Value
    Type Description
    long
    | Edit this page View Source

    DefaultMaxChunkSizeBytes

    Maximum accepted value of a single HTTP/1 chunk-size line (RFC 9112 ยง7.1), in bytes. The chunk-size grammar itself (1*HEXDIG) has no length ceiling, so this is a proxy-owned safety bound rather than a protocol requirement: it exists to reject the two's-complement chunk- size wrap (an attacker-supplied value like "ffffffff" must not decode to a small/negative sentinel) and to avoid ever attempting to allocate or forward a chunk of unbounded size. Set high enough that no legitimate chunk from real-world traffic should reach it.

    Unlike every other field on this type, this one is actually read live, by every ChunkSizeParser.TryParse call site in HttpStream and LimitedStream.

    Default: 1 GiB.

    Declaration
    public static readonly long DefaultMaxChunkSizeBytes
    Field Value
    Type Description
    long
    | Edit this page View Source

    DefaultMaxDecodedHeaderListBytes

    Reference value only - see the type-level remarks. Matches the current default of ProxyServer.MaxDecodedHeaderListBytes: maximum total decoded HTTP/2 header list size (sum of name + value + 32 per field). Streams with header lists exceeding that property's configured value are rejected with RST_STREAM(ENHANCE_YOUR_CALM). Default: 64 KiB.

    Declaration
    public static readonly int DefaultMaxDecodedHeaderListBytes
    Field Value
    Type Description
    int
    | Edit this page View Source

    DefaultMaxWebSocketFramePayloadBytes

    Reference value only - see the type-level remarks. Matches the current default of ProxyServer.MaxWebSocketFramePayloadBytes: maximum WebSocket frame payload size the proxy will accept during frame-level interception (validated against the declared length before any payload is buffered). Raw relay (no interception) is not subject to this limit. Default: 16 MiB.

    Declaration
    public static readonly int DefaultMaxWebSocketFramePayloadBytes
    Field Value
    Type Description
    int
    | Edit this page View Source

    DefaultMaxWebSocketMessageBytes

    Reference value only - see the type-level remarks. Unlike the other fields on this type, this one does not correspond to any enforced ProxyServer property today: there is no cumulative-reassembled-message-size cap on the WebSocket path, only the per-frame DefaultMaxWebSocketFramePayloadBytes/MaxWebSocketFramePayloadBytes limit. This value is retained as a documented target for that still-unimplemented cumulative budget. Default: 64 MiB.

    Declaration
    public static readonly long DefaultMaxWebSocketMessageBytes
    Field Value
    Type Description
    long
    | Edit this page View Source

    DefaultViaPseudonym

    Unused legacy field. ProxyServer.ViaHeaderPseudonym defaults to "titanium-web-proxy" (not empty) and does not read this field; nothing in the codebase references it. Retained only so removing it is not itself an undocumented breaking change; do not treat it as authoritative for the real default.

    Declaration
    public static readonly string DefaultViaPseudonym
    Field Value
    Type Description
    string
    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX