Skip to main content

Crate oxidite

Crate oxidite 

Source
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
OxiditeResponse
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
VersionedRouter
Versioned router

Enums§

ApiVersion
API version
Error

Traits§

FromRequest
Extractor trait - allows types to be extracted from requests
Handler
Trait for async functions that can be used as handlers

Type Aliases§

OxiditeRequest
Request
Result
A specialized Result type for Oxidite applications