Module protocol_abstraction

Module protocol_abstraction 

Source
Expand description

Protocol-agnostic abstractions for unified mocking across HTTP, GraphQL, gRPC, and WebSocket

This module provides traits and types that abstract common patterns across different protocols, enabling code reuse for spec-driven mocking, middleware, and request matching.

Re-exports§

pub use auth::AuthMiddleware;
pub use auth::AuthResult;
pub use auth::Claims;
pub use matcher::FuzzyRequestMatcher;
pub use matcher::RequestFingerprint;
pub use matcher::SimpleRequestMatcher;
pub use middleware::LatencyMiddleware;
pub use middleware::LoggingMiddleware;
pub use middleware::MetricsMiddleware;
pub use protocol_registry::ProtocolHandler;
pub use protocol_registry::ProtocolRegistry;
pub use streaming::MessageBuilder;
pub use streaming::MessageStream;
pub use streaming::ProtocolMessage;
pub use streaming::StreamingMetadata;
pub use streaming::StreamingProtocol;
pub use streaming::StreamingProtocolRegistry;

Modules§

auth
Unified authentication middleware for all protocols
matcher
Cross-protocol request matching for caching and replay
middleware
Unified middleware implementations for common patterns across protocols
protocol_registry
Protocol registry for managing protocol handlers and configurations
streaming
Streaming protocol abstractions for pub/sub and messaging patterns

Structs§

FixtureRequest
Request matching criteria for fixtures
FixtureResponse
Response configuration for fixtures
MiddlewareChain
Middleware chain for composing and executing multiple middleware in sequence
ProtocolRequest
A protocol-agnostic request representation
ProtocolResponse
A protocol-agnostic response representation
SpecOperation
Represents a single operation in a spec (endpoint, query, RPC method)
UnifiedFixture
Unified fixture format supporting all protocols
ValidationError
A validation error
ValidationResult
Result of request validation

Enums§

FixtureStatus
Status representation for fixtures
MessagePattern
Message pattern enumeration for different communication patterns
Protocol
Protocol type enumeration for multi-protocol support
ResponseStatus
Response status abstraction across protocols

Traits§

ProtocolMiddleware
Trait for protocol-agnostic middleware
RequestMatcher
Trait for request matching across protocols
SpecRegistry
Trait for spec-driven mocking registries (OpenAPI, GraphQL schema, Proto files)