ignitia/
lib.rs

1//! # ignitia Web Framework
2//!
3//! A blazing fast, lightweight web framework for Rust that ignitias your development.
4//! Built by Aarambh Dev Hub.
5//!
6//! ## Quick Start
7//!
8//! ```
9//! use ignitia::{Router, Server, Request, Response, Result, handler_fn};
10//!
11//! #[tokio::main]
12//! async fn main() -> Result<()> {
13//!     let router = Router::new()
14//!         .get("/", handler_fn(|_req| async {
15//!             Ok(Response::text("Hello from ignitia! 🔥"))
16//!         }));
17//!
18//!     let server = Server::new(router, "127.0.0.1:3000".parse().unwrap());
19//!     server.ignitia().await.unwrap();
20//!     Ok(())
21//! }
22//! ```
23
24pub mod cookie;
25pub mod error;
26pub mod extension;
27pub mod handler;
28pub mod middleware;
29pub mod request;
30pub mod response;
31pub mod router;
32pub mod server;
33pub mod utils;
34
35pub use cookie::{Cookie, CookieJar, SameSite};
36pub use error::{Error, Result};
37pub use extension::{Extension, Extensions};
38pub use handler::extractor::{
39    Body, Cookies, Headers, Json, Method as IgnitiaMethod, Path, Query, Uri,
40};
41pub use handler::{
42    handler_fn, into_handler, raw_handler, Handler, HandlerFn, IntoHandler, RawRequest,
43};
44pub use middleware::Middleware;
45pub use request::Request;
46pub use response::{Response, ResponseBuilder};
47pub use router::{Route, Router};
48pub use server::Server;
49
50// Re-export commonly used types
51pub use async_trait::async_trait;
52pub use http::{HeaderMap, HeaderValue, Method, StatusCode};