mirror of
https://github.com/tokio-rs/axum.git
synced 2024-11-22 07:08:16 +01:00
4194cf70da
Fixes https://github.com/tokio-rs/axum/issues/111 Example usage: ```rust use axum::{ prelude::*, extract::ws::{WebSocketUpgrade, WebSocket}, response::IntoResponse, }; let app = route("/ws", get(handler)); async fn handler(ws: WebSocketUpgrade) -> impl IntoResponse { ws.on_upgrade(handle_socket) } async fn handle_socket(mut socket: WebSocket) { while let Some(msg) = socket.recv().await { let msg = if let Ok(msg) = msg { msg } else { // client disconnected return; }; if socket.send(msg).await.is_err() { // client disconnected return; } } } ``` |
||
---|---|---|
.. | ||
async-graphql | ||
chat | ||
self_signed_certs | ||
sse | ||
templates | ||
websocket | ||
404.rs | ||
chat.rs | ||
error_handling_and_dependency_injection.rs | ||
form.rs | ||
hello_world.rs | ||
key_value_store.rs | ||
multipart_form.rs | ||
README.md | ||
sessions.rs | ||
sse.rs | ||
static_file_server.rs | ||
templates.rs | ||
testing.rs | ||
tls_rustls.rs | ||
todos.rs | ||
tokio_postgres.rs | ||
unix_domain_socket.rs | ||
versioning.rs | ||
websocket.rs |
Examples
hello_world
- Very small getting started app.todos
- Provides a RESTful web server managing some Todos.key_value_store
- Slightly larger app with an in-memory key/value store.form
- Receiving data from an HTML<form>
.multipart_form
- How to parsemultipart/form-data
forms.static_file_server
- Serving static files from a directory. Could for example be the baseline for a single page app.templates
- Rending HTML templates using askama.testing
- How to test axum apps.versioning
- How one might version an API.websocket
- How to build an app that handles WebSocket connections.error_handling_and_dependency_injection
- How to handle errors and dependency injection using trait objects.tokio_postgres
- How to use a tokio-postgres and bb8 to query a database.unix_domain_socket
- How to run an Axum server over unix domain sockets.sessions
- Sessions and cookies usingasync-session
.tls_rustls
- TLS withtokio-rustls
.chat
- Chat application example.404
- Custom 404 page.async-graphql
- GraphQL example usingasync-graphql
.
Community showcase
- Houseflow: House automation platform written in Rust.