Vidi
Fast, flexible, lightweight web framework for Rust
Install / Use
/learn @viz-rs/VidiREADME
Features
-
Safety
#![forbid(unsafe_code)] -
Lightweight
-
Robust
Routing -
Handy
Extractors -
Simple + Flexible
Handler&Middleware -
Supports Tower
Service
Hello Vidi
use std::net::SocketAddr;
use tokio::net::TcpListener;
use vidi::{serve, Request, Result, Router};
async fn index(_: Request) -> Result<&'static str> {
Ok("Hello, Vidi!")
}
#[tokio::main]
async fn main() -> Result<()> {
let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
let listener = TcpListener::bind(addr).await?;
println!("listening on http://{addr}");
let app = Router::new().get("/", index);
if let Err(e) = serve(listener, app).await {
println!("{e}");
}
Ok(())
}
More examples can be found here.
Get started
Open Vidi, select language or version.
License
This project is licensed under the MIT license.
Author
Related Skills
himalaya
349.2kCLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
node-connect
349.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
taskflow
349.2kname: taskflow description: Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layer
frontend-design
109.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
