praxis-proxy-core 0.7.5

Configuration, error types, and server factory for Praxis
// SPDX-License-Identifier: Apache-2.0
// Copyright (c) 2024 Praxis Contributors

//! Upstream connectivity types used by the filter pipeline and protocol layer.

mod classification;
mod connection_options;
mod network;
/// Address resolution, server-name derivation, and (under the `pingora`
/// feature) the mapping of connection options and TLS material onto a
/// Pingora peer.
pub mod peer;
mod target;
mod trusted_private;
mod upstream;

pub(crate) use classification::classify_without_nat64;
pub use classification::{IpClassification, classify_ip};
pub use connection_options::ConnectionOptions;
pub use network::{CidrRange, is_private_ip, is_private_upstream_ip, normalize_mapped_ipv4};
pub(crate) use target::URL_TARGET_MARKER;
pub use target::{
    InvalidTarget, PreparedSubrequest, PreparedTarget, UrlResolutionPolicy, UrlTargetError, prepare_url_target,
    prepare_url_target_with_policy, validate_url_target,
};
pub(crate) use trusted_private::strip_root_dot;
pub use trusted_private::validate_host_entries;
pub use upstream::Upstream;