Skip to main content

Crate ultimo

Crate ultimo 

Source
Expand description

§Ultimo - Modern Rust Web Framework

Lightweight, type-safe Rust web framework with automatic TypeScript type generation.

§Quick Start

use ultimo::prelude::*;

#[tokio::main]
async fn main() -> ultimo::Result<()> {
    let mut app = Ultimo::new();

    app.use_middleware(ultimo::middleware::builtin::logger());

    app.get("/", |ctx: Context| async move {
        ctx.json(serde_json::json!({"message": "Hello Ultimo!"})).await
    });

    app.get("/users/:id", |ctx: Context| async move {
        let id = ctx.req.param("id")?;
        ctx.json(serde_json::json!({"id": id})).await
    });

    app.listen("127.0.0.1:3000").await
}

Re-exports§

pub use app::Ultimo;
pub use context::Context;
pub use error::Result;
pub use error::UltimoError;
pub use extract::FromRequest;
pub use extract::Json;
pub use extract::Path;
pub use extract::Query;
pub use extract::Valid;
pub use rpc::error_code;
pub use rpc::JsonRpcError;
pub use rpc::JsonRpcErrorResponse;
pub use rpc::JsonRpcOutput;
pub use rpc::JsonRpcRequest;
pub use rpc::JsonRpcResponse;
pub use rpc::RpcRegistry;
pub use rpc::RpcRequest;
pub use rpc::RpcResponse;
pub use sse::sse_channel;
pub use sse::SseEvent;
pub use sse::SseSender;
pub use validation::validate;

Modules§

app
Main Ultimo application
context
Request/Response context for handling HTTP requests and responses
cookie
HTTP cookie parsing and Set-Cookie formatting (RFC 6265).
error
Error handling system for Ultimo
extract
Typed request extractors: implement FromRequest to pull typed data from a request. Handlers may take any number of these as parameters, e.g. |Path(id): Path<u32>, Query(q): Query<Filter>| async move { … }.
handler
Handler traits and types for async request handling
middleware
Middleware system with composable chain execution
openapi
OpenAPI specification generation for Ultimo
prelude
Prelude module for convenient imports
response
HTTP response builder and utilities
router
Fast HTTP router with path parameter support
rpc
RPC (Remote Procedure Call) system for Ultimo
sse
Server-Sent Events (SSE) — typed server→client push over text/event-stream.
validation
Validation helpers for request data