Examples
Welcome to the examples! These show off warp
's functionality and explain how to use it.
Getting Started
To get started, run examples/hello.rs
with:
> cargo run --example hello
This will start a simple "hello world" service running on your localhost port 3030.
Open another terminal and run:
> curl http://localhost:3030/hi
Hello, World!%
Congratulations, you have just run your first warp service!
You can run other examples with cargo run --example [example name]
:
hello.rs
- Just a basic "Hello World" API- Hello World using functions
- Hello World using modules
- Hello setting content type with_heather
routing.rs
- Builds up a more complex set of routes and shows how to combine filtersbody.rs
- What's a good API without parsing data from the request body?headers.rs
- Parsing data from the request headersrejections.rs
- Your APIs are obviously perfect, but for silly others who call them incorrectly you'll want to define errors for themfutures.rs
- Wait, wait! ... Or how to integrate futures into filterstodos.rs
- Putting this all together with a proper app
Further Use Cases
Serving HTML and Other Files
file.rs
- Serving static filesdir.rs
- Or a whole directory of fileshandlebars_template.rs
- Using Handlebars to fill in an HTML template
Websockets
Hooray! warp
also includes built-in support for WebSockets
websockets.rs
- Basic handling of a WebSocket upgradewebsockets_chat.rs
- Full WebSocket app
Server-Side Events
sse.rs
- Basic Server-Side Eventsse_chat.rs
- Full SSE app
TLS
tls.rs
- can i haz security?
Autoreloading
autoreload.rs
- Change some code and watch the server reload automatically!
Debugging
tracing.rs
- Warp has built-in support for rich diagnostics withtracing
!
Custom HTTP Methods
custom_methods.rs
- It is also possible to use Warp with custom HTTP methods.