Module http_server

Module http_server 

Source
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