#express #js #web-framework #context #attempt #http-response

ripress

An attempt to make an http server library like express.js in rust

14 unstable releases (3 breaking)

new 0.4.2 Mar 21, 2025
0.4.1 Mar 20, 2025
0.3.6 Mar 19, 2025
0.2.4 Mar 13, 2025
0.1.0 Mar 11, 2025

#215 in HTTP server

Download history 250/week @ 2025-03-07 527/week @ 2025-03-14

777 downloads per month

MIT license

77KB
1.5K SLoC

Ripress

An express-inspired Rust-based web framework

"This is an experimental project, and its development may change over time."

Table of Contents


Overview

Ripress is a web framework inspired by Express.js.

Goals

  • Provide an intuitive and simple API like Express.js
  • Focus on developer experience first; performance optimizations will come later
  • Prioritize ease of use over low-level control initially

Installation

You can add ripress to your project using Cargo:

cargo add ripress tokio

Or manually add it to your Cargo.toml:

[dependencies]
ripress = "0.4.1"
tokio = { version = "1.44.0", features = ["full"] }

Basic Example

use ripress::app::App;
use ripress::context::{HttpRequest, HttpResponse};

#[tokio::main]
async fn main() {
    let mut app = App::new();
    app.get("/", hello_world);
    app.listen(3000, || {}).await;
}

async fn hello_world(_req: HttpRequest, res: HttpResponse) -> HttpResponse {
    res.ok().text("Hello, world!")
}

View more examples in the examples directory.

Documentation

Getting Started Guide

Changelog

View Changelog

Dependencies

~15–26MB
~448K SLoC