hns-browser-loopback-proxy 0.2.4

Authenticated loopback browser proxy adapters with explicit mobile and Chromium contracts
Documentation
pub mod auth;
pub mod backend;
pub mod config;
pub mod endpoint;
pub mod event;
pub mod host;
pub mod http1;
pub mod icann;
pub mod metadata;
pub mod rate_limit;
pub mod response;
pub mod server;

mod certificate;
mod listener;
mod tls;

pub use auth::{
    AuthorizationGenerationError, PROXY_AUTHENTICATE_HEADER, PROXY_AUTHORIZATION_HEADER,
    ProxyAuthorization,
};
pub use backend::{
    BackendError, CancellationToken, ProxyBackend, ProxyHeader, ProxyRequest, ProxyRequestBody,
    ProxyResponse, ProxyResponseBody, ProxyResponseHead, ProxyTunnel, ProxyTunnelIo,
    ProxyTunnelOpen, PublicationCapability, PublicationPermit,
};
pub use certificate::{CertificateSha256, LocalCertificatePin};
pub use config::{
    LoopbackBind, ProxyConfig, ProxyInstanceId, ProxyLimits, ProxyLimitsError, ProxyRoutingMode,
    ProxySessionId, ProxyTimeouts, ProxyTimeoutsError, SessionIdGenerationError,
};
pub use endpoint::ProxyEndpoint;
pub use event::{
    BackendFailureKind, ClientRejectionReason, LifecycleEvent, NoopProxyObserver, ObservedHost,
    ObservedHostError, ObservedMethod, ProxyEvent, ProxyObserver, RequestPhase,
    RequestRejectionReason, StopReason,
};
pub use host::{HostNormalizationError, HostScope, HostScopeError, NormalizedHost};
pub use http1::{
    AbsoluteTarget, Authority, BodyFraming, Header, Http1Error, HttpVersion, OriginTarget,
    RequestHead, RequestTarget, Scheme, determine_body_framing, parse_request_head,
    read_chunked_body, read_request_body, read_request_head, sanitize_forward_headers,
    sanitize_upgrade_forward_headers,
};
pub use icann::{FailClosedIcannNetwork, IcannNetwork, IcannNetworkError};
pub use metadata::{
    NoopProxyResponseMetadataObserver, ProxyResponseMetadataObservation,
    ProxyResponseMetadataObserver,
};
pub use rate_limit::{
    ActiveClientLimiter, ActiveClientPermit, RateLimitConfig, RateLimitConfigError,
    RateLimitDecision, RateLimitScope, RequestRateLimiter,
};
pub use response::{
    EncodedResponseHead, InternalResponseMetadata, ResponseError, SanitizedResponseHeaders,
    encode_response_head, encode_upgrade_response_head, sanitize_response_headers,
};
pub use server::{ProxyError, RunningProxy};