Poem Rust Web Framework
github.com
3
Leaving SiteNav
External Link Disclaimer
You are about to visit github.com. This website is not operated by us. We are not responsible for its content or privacy practices.
About this website
Poem is a full-featured, ergonomic web framework for Rust, designed to provide a developer-friendly experience with powerful features out of the box. Created by Cheng Gao (sunli829) and first released in 2021, Poem aims to combine the simplicity of frameworks like Axum with the batteries-included approach of frameworks like Rocket and Actix Web. Key features: declarative API with #[handler] and OpenApi macros for defining request handlers with automatic input extraction and documentation generation. OpenAPI documentation: built-in OpenAPI 3.0 spec generation via the OpenApiService, automatically producing interactive Swagger UI and ReDoc documentation endpoints from annotated handlers. Extractor system: type-safe extraction of request data including Path (URL parameters), Query (query string), Json (request body), Form (form data), Header, Cookie, and custom extractors. Middleware support via Endpoint and Middleware traits, enabling request/response transformation, error handling, and custom logic. WebSocket support via WebSocket extractor for real-time bidirectional communication with automatic connection upgrade. Static files serving via StaticFilesEndpoint with directory listing, range requests, and ETag caching. Template rendering: built-in support for Handlebars, Askama, MiniJinja, and TypeHtml templates. Database integration: support for SQLx, Diesel, MongoQoSeaORM, and Redis via connection pool extractors. Authentication and authorization: built-in middleware for JWT, OAuth2, and session-based auth. Rate limiting middleware. CORS middleware. Request size limits. TLS/HTTPS support via rustls. SSE (Server-Sent Events) for push notifications. GraphQL support via async-graphql integration. gRPC support via tonic integration. Multi-part form data handling for file uploads. Tokio-based async runtime. Testing utilities for unit and integration testing. Open source under MIT or Apache-2.0.
Statistics
3
Views
0
Clicks
0
Like
0
Dislike