Expand description
RPC-style HTTP helpers for id_effect Axum hosts — Phase D
(@effect/rpc-shaped boundaries).
§Full stack (D3)
protocol— tagged wire request/response typesserialization— JSON +id_effect::schemaencode/decoderegistry—RpcGroupof typed handlersserver—RpcServerAxum dispatch (POST /rpc)client—RpcClientremote calls viaid_effect_platform::http::HttpClientstream— NDJSON stream RPC responses
§Edge helpers (D2)
RpcError— JSON envelope + status +IntoResponsecorrelation—x-correlation-idpropagationcodegen— service metadata and Rust trait stub emissionopenapi— OpenAPI 3.0 JSON/YAML emission from route metadataspan—tracingspan helpers compatible with OpenTelemetry layersversioning— API version negotiation middleware
Pair with id_effect_axum::json (decode_json_schema, JsonSchemaError) for
per-route JSON validation (see the mdBook Axum host chapter).
Re-exports§
pub use client::RpcClient;pub use client::RpcClientConfig;pub use client::RpcClientError;pub use error::RpcError;pub use protocol::RPC_DISPATCH_PATH;pub use protocol::RpcWireRequest;pub use protocol::RpcWireResponse;pub use registry::RpcGroup;pub use registry::RpcMethodEntry;pub use server::RpcServer;pub use server::layer_rpc;
Modules§
- client
- RPC HTTP client — call remote tagged methods as
Effect(RpcClientparity). - codegen
- RPC service metadata and Rust trait stub emission (Phase D3 spike).
- correlation
- Correlation id helpers for RPC-style HTTP (
x-correlation-id). - error
RpcError— structured JSON body + HTTP status + AxumIntoResponse.- openapi
- OpenAPI 3.0 document emission from RPC / HTTP route metadata.
- protocol
- Tagged RPC wire messages for the HTTP+JSON protocol (
@effect/rpc-shaped). - registry
- RPC method registry — [] of tagged handlers ( [] parity).
- serialization
- JSON serialization and
id_effect::schemabridging for RPC wire messages. - server
- RPC HTTP server — mount tagged dispatch on Axum (
RpcServer.layerparity). - span
- Tracing helpers for RPC-shaped HTTP handlers.
- stream
- NDJSON streaming RPC responses (stream methods at the HTTP edge).
- versioning
- API version negotiation for RPC-shaped Axum routes.
Structs§
- RpcEnvelope
- Wire body returned for structured RPC errors.
Enums§
- RpcError
Code - Coarse error category for HTTP APIs (paired with an HTTP status in
crate::RpcError).