Warp

A super-easy, composable, web server framework for warp speeds.
Alternatives To Warp
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Frp65,8309a day ago78July 10, 2022105apache-2.0Go
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
Caddy46,5271183342 days ago85October 26, 2020103apache-2.0Go
Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
Vapor22,639
3 days agoNovember 16, 2021109mitSwift
💧 A server-side Swift HTTP web framework.
Postgrest20,287
42 days ago37July 12, 2022201mitHaskell
REST API for any Postgres database
Aiohttp13,4147,3554,8942 days ago220November 14, 2021500otherPython
Asynchronous HTTP client/server framework for asyncio and Python
Node Http Proxy13,281398,0652,9327 days ago103May 17, 2020577otherJavaScript
A full-featured http proxy for node.js
Http Server12,53946,3037,9322 months ago49May 31, 2022131mitJavaScript
a simple zero-configuration command-line http server
Chisel8,71822125 days ago27February 03, 2022173mitGo
A fast TCP/UDP tunnel over HTTP
Warp7,87073355a day ago34November 09, 2021217mitRust
A super-easy, composable, web server framework for warp speeds.
Proxygen7,771
a day ago39otherC++
A collection of C++ HTTP libraries including an easy to use HTTP server.
Alternatives To Warp
Select To Compare


Alternative Project Comparisons
Readme

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.

Popular Server Projects
Popular Http Projects
Popular Networking Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Rust
Server
Http
Tokio
Brotli