22 releases (1 stable)

new 1.0.0 Apr 16, 2025
0.5.1 Apr 1, 2025
0.5.0 Mar 27, 2025
0.4.7 Mar 26, 2025
0.1.0 Mar 11, 2025

#231 in HTTP server

Download history 22/week @ 2025-03-05 664/week @ 2025-03-12 952/week @ 2025-03-19 457/week @ 2025-03-26 75/week @ 2025-04-02

2,170 downloads per month

MIT license

115KB
2K SLoC

Ripress

An express-inspired Rust-based web framework

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

Please star the repo if you like it, so that I know someone is using it.

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.5.0"
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 basic examples in Examples dir.

View full blown code examples here.

Documentation

Getting Started Guide

Changelog

View Changelog

Dependencies

~17–27MB
~468K SLoC