Expand description
HTTP server integration for stream processing.
§HTTP Server Support
This module provides HTTP server capabilities for StreamWeave, enabling REST microservices with streaming request/response bodies through StreamWeave pipelines.
§Features
- HTTP request producer that converts incoming HTTP requests to stream items
- HTTP response consumer that converts stream items to HTTP responses
- Streaming request/response body support
- Axum integration for route handling and middleware
- Support for REST API patterns (GET, POST, PUT, DELETE, etc.)
§Example
use streamweave::http_server::{HttpRequest, HttpResponse};
use axum::{Router, routing::get};
// Create an HTTP server with StreamWeave pipeline integration
let app = Router::new()
.route("/api/data", get(handle_request));§Feature Flag
This module requires the http-server feature flag to be enabled.
Re-exports§
pub use consumer::HttpResponseConsumer;pub use consumer::HttpResponseConsumerConfig;pub use error::ErrorDetails;pub use error::ErrorResponse;pub use error::create_custom_error;pub use error::is_development_mode;pub use error::map_generic_error;pub use error::map_to_http_error;pub use handler::create_pipeline_handler;pub use handler::create_simple_handler;pub use middleware::common_middleware_stack;pub use middleware::cors_layer;pub use middleware::cors_layer_with_origins;pub use middleware::logging_layer;pub use middleware::rate_limit_layer;pub use producer::HttpRequestProducer;pub use producer::HttpRequestProducerConfig;pub use types::ContentType;pub use types::HttpMethod;pub use types::HttpRequest;pub use types::HttpResponse;
Modules§
- consumer
- HTTP Response Consumer
- error
- Error handling utilities for HTTP server integration.
- handler
- Axum Route Handler Integration
- input
- Input types for HTTP server integration.
- middleware
- Middleware utilities for HTTP server integration.
- output
- Output types for HTTP server integration.
- producer
- HTTP Request Producer
- types
- HTTP Server Types