warp

A super-easy, composable, web server framework for warp speeds.

Latest version: 0.3.3 registry icon
Maintenance score
100
Safety score
100
Popularity score
100
Check your open source dependency risks. Get immediate insight about security, stability and licensing risks.
Security
  Vulnerabilities
Version Suggest Low Medium High
0.3.3 0 0 0 0
0.3.2 0 0 0 0
0.3.1 0 0 0 0
0.3.0 0 0 0 0
0.2.5 0 0 0 0
0.2.4 0 0 0 0
0.2.3 0 0 0 0
0.2.2 0 0 0 0
0.2.1 0 0 0 0
0.2.0 0 0 0 0
0.1.23 0 0 0 0
0.1.22 0 0 0 0
0.1.21 0 0 0 0
0.1.20 0 0 0 0
0.1.19 0 0 0 0
0.1.18 0 0 0 0
0.1.17 0 0 0 0
0.1.16 0 0 0 0
0.1.15 0 0 0 0
0.1.14 0 0 0 0
0.1.13 0 0 0 0
0.1.12 0 0 0 0
0.1.11 0 0 0 0
0.1.10 0 0 0 0
0.1.9 0 0 0 0
0.1.8 0 0 0 0
0.1.7 0 0 0 0
0.1.6 0 0 0 0
0.1.5 0 0 0 0
0.1.4 0 0 0 0
0.1.3 0 0 0 0
0.1.2 0 0 0 0
0.1.1 0 0 0 0
0.1.0 0 0 0 0
0.0.0 0 0 0 0

Stability
Latest release:

0.3.3 - this version is safe to use because it has no known security vulnerabilities at this time. Find out if your coding project uses this component and get notified of any reported security vulnerabilities with Meterian-X Open Source Security Platform

Licensing

Maintain your licence declarations and avoid unwanted licences to protect your IP the way you intended.

MIT   -   MIT License

Not a wildcard

Not proprietary

OSI Compliant



warp

crates.io Released API docs MIT licensed GHA Build Status Discord chat

A super-easy, composable, web server framework for warp speeds.

The fundamental building block of warp is the Filter: they can be combined and composed to express rich requirements on requests.

Thanks to its Filter system, warp provides these out of the box:

  • Path routing and parameter extraction
  • Header requirements and extraction
  • Query string deserialization
  • JSON and Form bodies
  • Multipart form data
  • Static Files and Directories
  • Websockets
  • Access logging
  • Gzip, Deflate, and Brotli compression

Since it builds on top of hyper, you automatically get:

  • HTTP/1
  • HTTP/2
  • Asynchronous
  • One of the fastest HTTP implementations
  • Tested and correct

Example

Add warp and Tokio to your dependencies:

tokio = { version = "1", features = ["full"] }
warp = "0.3"

And then get started in your main.rs:

use warp::Filter;

#[tokio::main]
async fn main() {
    // GET /hello/warp => 200 OK with body "Hello, warp!"
    let hello = warp::path!("hello" / String)
        .map(|name| format!("Hello, {}!", name));

    warp::serve(hello)
        .run(([127, 0, 0, 1], 3030))
        .await;
}

For more information you can check the docs or the examples.