#![warn(missing_docs)]
#![warn(clippy::print_stdout, clippy::print_stderr)]
mod audit;
mod body;
mod broker;
mod decide;
mod local;
mod request;
mod server;
mod session;
mod slots;
mod sni;
mod tunnel;
mod upstream;
pub use audit::{Connection, RecordError, Recorder};
pub use broker::{Broker, BrokerError, Carried, Leak, RULE_SECRET};
pub use decide::{
DEFAULT_PORTS, Forbidden, RULE_ADDRESS, RULE_AUDIT, RULE_PORT, RULE_REQUEST, RULE_SNI,
RULE_UPSTREAM, address_policy, denied as address_denied, forbidden, host as decide_host,
host_port as decide_host_port, named as address_named, named_on as address_named_on,
port_policy, tainted as decide_tainted,
};
pub use local::LocalService;
pub use request::{
MAX_HEADERS, ProxyCredential, Request, RequestError, Target, parse as parse_request,
};
pub use server::{Limits, Proxy, RULE_CAPACITY};
pub use session::{
AuthError, Credential, CredentialError, MIN_TOKEN_LEN, RULE_SESSION, Sessions, TaintLookup,
constant_time_eq,
};
pub use sni::{Hello, HelloError, MAX_HELLO, server_name};
pub use upstream::{Refusal, Resolve, SystemResolver, connect};