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 multiple middleware
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
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)