http_srv/lib.rs
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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
//! Http Server Crate
//!
//! This crate contains all the libraries necessary to run an HTTP Server
//!
//! # Example
//! ```rust,no_run
//! use http_srv::prelude::*;
//!
//! let config = ServerConfig::default();
//!
//! let mut handler = Handler::new();
//! handler.add_default(HttpMethod::GET, handler::cat_handler);
//! handler.get("/", handler::root_handler);
//! handler.get("/hello", |req: &mut HttpRequest| {
//! let name = req.param("name").unwrap_or("friend");
//! let msg = format!("Hello {name}!");
//! req.respond_str(&msg)
//! });
//!
//! let mut server = HttpServer::new(config);
//! server.set_handler(handler);
//! server.run();
//! ```
#![deny(
clippy::unwrap_used,
clippy::panic,
clippy::expect_used,
unused_must_use
)]
#![warn(clippy::pedantic)]
#![allow(
clippy::missing_errors_doc
)]
pub mod request;
pub mod server;
mod log;
pub mod http;
pub mod response;
#[doc(hidden)]
pub mod prelude {
pub use crate:: {
server::HttpServer,
request::HttpRequest,
response::HttpResponse,
request::handler::{self,Handler,AuthConfig},
server::ServerConfig,
http::*,
};
pub (crate) use crate::server::ServerError;
pub (crate) use crate::log::prelude::*;
}
use prelude::*;
/// Result type for the [`http_srv`](self) crate
///
/// It serves as a shortcut for an [`std::result::Result`]<T,[`ServerError`]>
pub type Result<T> = std::result::Result<T,ServerError>;
pub mod client;