Expand description
§Volga
Fast, Easy, and very flexible Web Framework for Rust based on Tokio runtime and hyper for fun and painless microservices crafting.
§Features
- Supports HTTP/1 and HTTP/2
- Robust routing
- Custom middlewares
- Full Tokio compatibility
- Runs on stable Rust 1.80+
§Example
[dependencies]
volga = "0.4.8"
tokio = { version = "1", features = ["full"] }use volga::*;
#[tokio::main]
async fn main() -> std::io::Result<()> {
// Start the server
let mut app = App::new();
// Example of request handler
app.map_get("/hello/{name}", |name: String| async move {
ok!("Hello {name}!")
});
app.run().await
}Re-exports§
pub use crate::app::App;pub use crate::http::response::builder::RESPONSE_ERROR;pub use crate::http::response::builder::SERVER_NAME;pub use crate::http::endpoints::args::cancellation_token::CancellationToken;pub use crate::http::endpoints::args::file::File;pub use crate::http::endpoints::args::json::Json;pub use crate::http::endpoints::args::path::Path;pub use crate::http::endpoints::args::query::Query;pub use crate::http::endpoints::args::form::Form;pub use crate::http::BoxBody;pub use crate::http::UnsyncBoxBody;pub use crate::http::HttpBody;pub use crate::http::HttpRequest;pub use crate::http::HttpResponse;pub use crate::http::HttpResult;pub use crate::http::HttpHeaders;pub use crate::http::ResponseContext;pub use crate::http::Results;pub use crate::http::endpoints::args::multipart::Multipart;
Modules§
- Main application entry point
- Tools for Dependency Injection
- Tools for HTTP headers
- Base HTTP tools
- Middleware tools
Macros§
- Produces HTTP 400 BAD REQUEST response
- Creates a default HTTP response builder
- Declares a custom HTTP headers
- Produces
OK 200response with file body - Produces
OK 200response with Form Data body - Creates HTTP Request/Response headers
- Produces HTTP 404 NOT FOUND response
- Produces an
OK 200response with plain text or JSON body - Produces HTTP 308 PERMANENT REDIRECT response
- Produces HTTP 301 MOVED PERMANENTLY response
- Creates an HTTP response with
status,bodyandheaders - Produces a response with specified
StatusCodewith plain text or JSON body - Produces
OK 200response with stream body - Produces HTTP 307 TEMPORARY REDIRECT response