Skip to main content

rama/http/
mod.rs

1//! rama http support
2//!
3//! mostly contains re-exports from
4//! `rama-http` and `rama-http-backend`.
5
6#[doc(inline)]
7pub use ::rama_http::{
8    Body, BodyCaptureEvent, BodyCaptureSink, BodyDataStream, BodyExtractExt, BodyLimit,
9    BodyLimitLayer, BodyLimitService, BufferedBodyCapture, CaptureBody, CaptureCanceled,
10    CaptureHandle, CaptureLimit, CaptureOutcome, CapturedBody, HeaderMap, HeaderName, HeaderValue,
11    HttpError, HttpResult, InfiniteReader, Method, Request, Response, StatusCode, StreamingBody,
12    Version, body, conn, convert, fingerprint, header, headers, io, layer, matcher, mime,
13    opentelemetry, proto, protocols, request, response, service, sse, utils,
14};
15
16#[cfg(feature = "http-backend")]
17#[cfg_attr(docsrs, doc(cfg(feature = "http-backend")))]
18#[doc(inline)]
19pub use ::rama_http_core as core;
20
21// `EasyHttpWebClient` and its connector builder additionally need `dns` + `tcp`
22// on top of `http-backend` (default dns/transport connectors, proxy tunneling, ...).
23#[cfg(all(feature = "http-backend", feature = "dns", feature = "tcp"))]
24#[cfg_attr(
25    docsrs,
26    doc(cfg(all(feature = "http-backend", feature = "dns", feature = "tcp")))
27)]
28pub mod client;
29
30#[cfg(feature = "http-full")]
31#[cfg_attr(docsrs, doc(cfg(feature = "http-full")))]
32#[doc(inline)]
33pub use ::rama_http_backend::server;
34
35#[cfg(feature = "http-full")]
36#[cfg_attr(docsrs, doc(cfg(feature = "http-full")))]
37#[doc(inline)]
38pub use ::rama_http_backend::proxy;
39
40#[cfg(feature = "ws")]
41#[cfg_attr(docsrs, doc(cfg(feature = "ws")))]
42#[doc(inline)]
43pub use ::rama_ws as ws;
44
45// `CertIssuerHttpClient` builds on `EasyHttpWebClient`, hence the same gates as `http::client`.
46#[cfg(all(
47    feature = "tls",
48    feature = "http-backend",
49    feature = "dns",
50    feature = "tcp"
51))]
52#[cfg_attr(
53    docsrs,
54    doc(cfg(all(
55        feature = "tls",
56        feature = "http-backend",
57        feature = "dns",
58        feature = "tcp"
59    )))
60)]
61pub mod tls;
62
63#[cfg(feature = "grpc")]
64#[cfg_attr(docsrs, doc(cfg(feature = "grpc")))]
65#[doc(inline)]
66pub use ::rama_grpc as grpc;