1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//! Opportunistic HTTP/3 server support for mechanics-family
//! services.
//!
//! This crate provides two additive building blocks for binaries
//! that already own their HTTP/1.1 and HTTP/2 TCP+TLS listener:
//! an opt-in HTTP/3 QUIC listener and a tower middleware layer
//! that emits `Alt-Svc` on the existing TCP+TLS path.
//!
//! Activation is controlled by [`Http3ServerConfig::bind_h3`].
//! When it is `None`, [`Http3Server::start`] returns an inert
//! handle immediately: no UDP socket is opened and no
//! [`quinn::Endpoint`] is constructed. When it is `Some`, this
//! crate binds that UDP address and routes HTTP/3 requests into
//! the supplied tower service.
//!
//! TLS material is supplied by the caller as
//! [`rustls::pki_types::CertificateDer`] and
//! [`rustls::pki_types::PrivateKeyDer`]. The QUIC-side TLS
//! configuration uses the `aws-lc-rs` rustls provider and ALPN
//! `h3` only. This server crate deliberately has no
//! `webpki-roots` dependency and no `ring` dependency.
//!
//! HTTP/1.1, HTTP/2 over TCP+TLS, and cleartext HTTP/1.1 remain
//! the consumer binary's responsibility. This crate does not
//! construct or alter those listeners.
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;