Class ProxyPolicyModes
Immutable snapshot of the PolicyMode selected for each PolicyFamily,
plus the one deliberately-separate AllowAmbiguousFraming escape hatch. Read live by
enforcement call sites through PolicyModes, which the plan's rollout
section requires to be a runtime switch: replacing the whole snapshot (see
PolicyModes's setter) rather than mutating a field lets an operator
drop every family to Observe without redeploying, while every
in-flight request that already read the previous snapshot keeps behaving consistently with
whichever snapshot it observed.
AllowAmbiguousFraming is not a PolicyFamily member and has no
corresponding PolicyMode: framing, chunk parsing and
Content-Length/Transfer-Encoding resolution have no safe "detect but let it
through" middle ground, so this is a single named, binary, off-by-default flag that
relays malformed framing instead of rejecting it - useful only for security research that
needs to observe how a client or origin reacts to smuggling-shaped input through the
proxy. No profile sets it: Create(PolicyMode, PolicyMode, PolicyMode, PolicyMode, PolicyMode) never accepts it as a parameter, and the
only way to turn it on is the explicit WithAllowAmbiguousFramingEnabled()
call, so enabling it can never be a side effect of selecting a profile.
Inheritance
ProxyPolicyModes
Assembly: Titanium.Web.Proxy.dll
Syntax
public sealed class ProxyPolicyModes
Properties
|
Edit this page
View Source
AllEnforce
Every family enforced - today's shipped behavior, and the starting point every profile builds from.
Declaration
public static ProxyPolicyModes AllEnforce { get; }
Property Value
|
Edit this page
View Source
AllowAmbiguousFraming
Declaration
public bool AllowAmbiguousFraming { get; }
Property Value
|
Edit this page
View Source
this[PolicyFamily]
Returns the mode selected for family.
Declaration
public PolicyMode this[PolicyFamily family] { get; }
Parameters
Property Value
Methods
|
Edit this page
View Source
Create(PolicyMode, PolicyMode, PolicyMode, PolicyMode, PolicyMode)
Declaration
public static ProxyPolicyModes Create(PolicyMode bodyBudget, PolicyMode decompressionRatio, PolicyMode headerLimits, PolicyMode admissionControl, PolicyMode http2AbuseBudget)
Parameters
Returns
|
Edit this page
View Source
With(PolicyFamily, PolicyMode)
Returns a snapshot identical to this one but with mode for family.
Declaration
public ProxyPolicyModes With(PolicyFamily family, PolicyMode mode)
Parameters
Returns
|
Edit this page
View Source
WithAllObservedExceptDisabled()
Returns a snapshot identical to this one but with every family dropped to
Observe, except families already Disabled
(which stay disabled - Observe would silently turn a family back on). This is the "drop to
Observe without redeploying" runtime switch the plan's rollout section requires.
Declaration
public ProxyPolicyModes WithAllObservedExceptDisabled()
Returns
|
Edit this page
View Source
WithAllowAmbiguousFramingEnabled()
The single, explicit, isolated act of relaying ambiguous HTTP/1 framing instead of
rejecting it. See the type-level remarks; never call this as a side effect of applying a
profile.
Declaration
public ProxyPolicyModes WithAllowAmbiguousFramingEnabled()
Returns