spikard-http
High-performance HTTP server for Spikard with a complete tower-http middleware stack, JSON Schema validation, and cross-language handler execution.
Features
- Axum-based routing with zero-allocation path matching
- Tower middleware stack: compression, rate limiting, timeouts, CORS, request IDs, auth
- JSON Schema validation for request/response
- Cross-language handlers via the Handler trait (Python, Node.js, Ruby, PHP, Elixir)
- OpenAPI 3.1 and AsyncAPI spec generation
- WebSocket and SSE support
- Graceful shutdown with in-flight request completion
- Static file serving with caching
Installation
[]
= "0.13.0"
Quick Start
use ;
use ;
async
Middleware Stack
The default middleware stack (in order):
- Compression - gzip/brotli compression (configurable)
- Request ID - Unique request tracking
- Timeout - Request timeout enforcement
- Rate Limit - Per-IP rate limiting (if configured)
- Authentication - JWT/Bearer token validation (if configured)
- User-Agent - User agent parsing and validation
- CORS - Cross-origin resource sharing (if configured)
- Handler - Your application logic
See ServerConfig documentation for detailed configuration options.
Validation
Validate requests against JSON schemas:
use ValidateRequest;
use json;
let schema = json!;
request.validate_body?;
Related Crates
- spikard - High-level HTTP framework
- spikard-core - Core primitives
Documentation
License
MIT - See LICENSE for details