Skip to main content

rama_http/
lib.rs

1//! rama http services, layers and utilities
2//!
3//! # Rama
4//!
5//! Crate used by the end-user `rama` crate and `rama` crate authors alike.
6//!
7//! Learn more about `rama`:
8//!
9//! - Github: <https://github.com/plabayo/rama>
10//! - Book: <https://ramaproxy.org/book/>
11
12#![doc(
13    html_favicon_url = "https://raw.githubusercontent.com/plabayo/rama/main/docs/img/rama_logo.svg"
14)]
15#![doc(
16    html_logo_url = "https://raw.githubusercontent.com/plabayo/rama/main/docs/img/rama_logo.svg"
17)]
18#![cfg_attr(docsrs, feature(doc_cfg))]
19#![cfg_attr(test, allow(clippy::float_cmp))]
20
21#[doc(inline)]
22pub use ::rama_http_types::{
23    Body, BodyDataStream, BodyExtractExt, BodyLimit, BodyLimitLayer, BodyLimitService,
24    Error as HttpError, HeaderMap, HeaderName, HeaderValue, InfiniteReader, Method, Request,
25    Response, Result as HttpResult, StatusCode, StreamingBody, Version, conn, fingerprint, header,
26    method, mime, opentelemetry, proto, request, response, sse, status, version,
27};
28
29#[doc(inline)]
30pub use ::rama_http_headers as headers;
31
32pub mod body;
33
34pub mod convert;
35
36pub mod matcher;
37
38pub mod layer;
39pub mod service;
40
41pub mod io;
42
43pub mod protocols;
44
45pub mod utils;
46
47#[doc(hidden)]
48pub mod __macro_dep {
49    #[doc(hidden)]
50    pub use rama_core as __core;
51}