Expand description
§Oxidite Web Framework
Oxidite is a modern, batteries-included web framework for Rust, inspired by Laravel and Rails.
§Quick Start
[dependencies]
oxidite = "1.0"
tokio = { version = "1", features = ["full"] }
serde = { version = "1", features = ["derive"] }use oxidite::prelude::*;
#[tokio::main]
async fn main() -> Result<()> {
let mut app = Router::new();
app.get("/", |_req| async {
Ok(Response::text("Hello, Oxidite!"))
});
Server::new(app)
.listen("127.0.0.1:3000".parse().unwrap())
.await
}§Features
- HTTP Server: HTTP/1.1, HTTP/2, and WebSocket support
- Routing: Path parameters, query parsing, API versioning
- Middleware: CORS, logging, compression, rate limiting
- Database: ORM with relationships, migrations, soft deletes
- Authentication: RBAC, JWT, OAuth2, 2FA, API keys
- Background Jobs: Cron scheduling, retry logic, dead letter queue
- Caching: Memory and Redis backends
- Real-time: WebSocket support with pub/sub
- Templates: Server-side rendering
- Email: SMTP support
- File Storage: Local and S3 backends
Re-exports§
pub use oxidite_middleware;pub use oxidite_config;pub use oxidite_db as db;pub use oxidite_auth as auth;pub use oxidite_queue as queue;pub use oxidite_cache as cache;pub use oxidite_realtime as realtime;pub use oxidite_template as template;pub use oxidite_mail as mail;pub use oxidite_storage as storage;
Modules§
- cookie
- error
- extract
- prelude
- Prelude module for common imports
- request
- response
- router
- server
- tls
- HTTPS and HTTP/2 support for Oxidite
- types
- versioning
- API Versioning support
Structs§
- Body
- Extract raw request body as string
- Cookies
- Extract cookies from the request
- Form
- Extract form data from the request body
- Json
- Extract and deserialize JSON request body
- Oxidite
Response - Path
- Extract typed path parameters from the request
- Query
- Extract typed query parameters from the request
- Response
- Router
- Server
- State
- Extract application state from request extensions
- Versioned
Router - Versioned router
Enums§
- ApiVersion
- API version
- Error
Traits§
- From
Request - Extractor trait - allows types to be extracted from requests
- Handler
- Trait for async functions that can be used as handlers
Type Aliases§
- Oxidite
Request - Request
- Result
- A specialized Result type for Oxidite applications