Class Utilities.EffectiveOriginResolver

java.lang.Object
com.soklet.Utilities.EffectiveOriginResolver
Enclosing class:
Utilities

@NotThreadSafe public static final class Utilities.EffectiveOriginResolver extends Object
Builder for Utilities.extractEffectiveOrigin(EffectiveOriginResolver).

Packages the inputs needed to reconstruct a client origin (scheme + host + optional port) from request headers. The resulting value never includes a path or query component.

Forwarded headers can be spoofed if Soklet is reachable directly. Choose a Utilities.EffectiveOriginResolver.TrustPolicy that matches your deployment and, for Utilities.EffectiveOriginResolver.TrustPolicy.TRUST_PROXY_ALLOWLIST, provide a trusted proxy predicate or allowlist. If the remote address is missing or not trusted, forwarded headers are ignored.

Extraction order is: trusted forwarded headers → Host → (optional) Origin fallback. Origin never overrides a conflicting host value; it only fills missing scheme/port or supplies host when absent.

Defaults: if allowOriginFallback(Boolean) is left unset, Origin fallback is enabled only for Utilities.EffectiveOriginResolver.TrustPolicy.TRUST_ALL; otherwise it is disabled.

Author:
Mark Allen