#![doc = include_str!("../README.md")]
#![warn(missing_docs)]
#![cfg_attr(docsrs, feature(doc_cfg))]
mod internals {
#[macro_use]
pub mod rpc;
pub mod proto;
pub mod raw_session;
}
pub mod config {
#[macro_use]
mod common;
pub use common::*;
mod headers;
mod http;
pub use self::http::*;
mod labeled;
pub use labeled::*;
mod oauth;
pub use oauth::*;
mod oidc;
pub use policies::*;
mod policies;
pub use oidc::*;
mod tcp;
pub use tcp::*;
mod tls;
pub use tls::*;
mod webhook_verification;
}
mod proxy_proto;
pub mod session;
pub mod tunnel;
pub mod conn;
pub mod forwarder;
mod tunnel_ext;
#[doc(inline)]
pub use conn::{
Conn,
EdgeConn,
EndpointConn,
};
#[doc(inline)]
pub use internals::proto::Error;
#[doc(inline)]
pub use session::Session;
#[doc(inline)]
pub use tunnel::Tunnel;
pub mod prelude {
#[allow(deprecated)]
#[doc(inline)]
pub use crate::{
config::{
Action,
ForwarderBuilder,
HttpTunnelBuilder,
InvalidPolicy,
LabeledTunnelBuilder,
OauthOptions,
OidcOptions,
Policy,
ProxyProto,
Rule,
Scheme,
TcpTunnelBuilder,
TlsTunnelBuilder,
TunnelBuilder,
},
conn::{
Conn,
ConnInfo,
EdgeConnInfo,
EndpointConnInfo,
},
internals::proto::EdgeType,
internals::proto::Error,
tunnel::{
EdgeInfo,
EndpointInfo,
Tunnel,
TunnelCloser,
TunnelInfo,
},
tunnel_ext::TunnelExt,
};
}
#[cfg(all(test, feature = "online-tests"))]
mod online_tests;