1#![doc = include_str!("../README.md")]
2#![warn(missing_docs)]
3#![cfg_attr(docsrs, feature(doc_cfg))]
4
5mod internals {
6 #[macro_use]
7 pub mod rpc;
8 pub mod proto;
9 pub mod raw_session;
10}
11
12pub mod config {
14 #[macro_use]
15 mod common;
16 pub use common::*;
17
18 mod headers;
19 mod http;
20 pub use self::http::*;
21 mod labeled;
22 pub use labeled::*;
23 mod oauth;
24 pub use oauth::*;
25 mod oidc;
26 pub use policies::*;
27 mod policies;
28 pub use oidc::*;
29 mod tcp;
30 pub use tcp::*;
31 mod tls;
32 pub use tls::*;
33 mod webhook_verification;
34}
35
36mod proxy_proto;
37
38pub mod session;
40pub mod tunnel;
42
43pub mod conn;
45
46pub mod forwarder;
48mod tunnel_ext;
49
50#[doc(inline)]
51pub use conn::{
52 Conn,
53 EdgeConn,
54 EndpointConn,
55};
56#[doc(inline)]
57pub use internals::proto::Error;
58#[doc(inline)]
59pub use session::Session;
60#[doc(inline)]
61pub use tunnel::Tunnel;
62
63pub mod prelude {
65 #[allow(deprecated)]
66 #[doc(inline)]
67 pub use crate::{
68 config::{
69 Action,
70 ForwarderBuilder,
71 HttpTunnelBuilder,
72 InvalidPolicy,
73 LabeledTunnelBuilder,
74 OauthOptions,
75 OidcOptions,
76 Policy,
77 ProxyProto,
78 Rule,
79 Scheme,
80 TcpTunnelBuilder,
81 TlsTunnelBuilder,
82 TunnelBuilder,
83 },
84 conn::{
85 Conn,
86 ConnInfo,
87 EdgeConnInfo,
88 EndpointConnInfo,
89 },
90 internals::proto::EdgeType,
91 internals::proto::Error,
92 tunnel::{
93 EdgeInfo,
94 EndpointInfo,
95 Tunnel,
96 TunnelCloser,
97 TunnelInfo,
98 },
99 tunnel_ext::TunnelExt,
100 };
101}
102
103#[cfg(all(test, feature = "online-tests"))]
104mod online_tests;