//! web_server is a small, dependency-less crate for creating HTTP servers.
//! When you coding the backend using Rust,
//! the most annoying thing could be the size of a freamwork
//! and the time needed to compile the application
//!
//! The web_server package fixes these problems.
//! web_server has no dependencies, but allows you to create full-fledged servers
//!
//!
//! First server using web_server
//! ```
//! use web_server::route;
//!
//! web_server::new()
//! .get("/", Box::new(|request: web_server::Request, mut response: web_server::Response|
//! "Hello World!".into()))
//! .launch(80)
//! .unwrap();
//! ```
//!
//! It's easy!
//! First you must create instance of HttpServer
//! ```
//! web_server::new()
//! ```
//! then you can declare your endpoints. E.g.
//! ```
//! .get("/your/path", Box::new(|request, default_response| {
//! // There place your logic
//! // This function returns Response
//! "response text".into()
//! }))
//! .post("/your/path", Box::new(|_, _| "Handler for POST method".into()))
//! .route(web_server::HttpMethod::DELETE, "/your/path", Box::new(|_, _| "Handler for DELETE method".into()))
//! .any("/your/path", Box::new(|_, _| "Handler for any method"))
//! ```
//!
//! Now you must run server by launch method
//! ```
//! .launch(PORT).unwrap()
//! ```
//!
//! You can send files to client e.g.
//! ```
//! .get("/image.png", Box::new(|_, _| {
//! std::path::Path::new("path to your file").into();
//! }))
//! ```
/// Decoders for http request body
pub use HttpCode;
pub use ;
use HttpVersion;
pub use Request;
pub use ;
pub use HttpServer;
pub use RequestHandler;
/// Create new instance of HttpServer
/// Create new instance of HttpServer with predefined body