Skip to main content

rskit_server/
lib.rs

1//! tonic gRPC server bootstrap as a lifecycle-managed Component.
2
3#![warn(missing_docs)]
4
5/// [`GrpcServerBuilder`] for constructing a [`GrpcServer`] component.
6#[cfg(feature = "grpc")]
7pub mod builder;
8/// [`GrpcServer`] lifecycle component.
9#[cfg(feature = "grpc")]
10pub mod component;
11/// [`GrpcServerConfig`] and [`TlsConfig`].
12#[cfg(feature = "grpc")]
13pub mod config;
14/// [`ErrorLayer`] — auto-enriches gRPC error responses with structured RFC 9457 details.
15#[cfg(feature = "grpc")]
16pub mod error_layer;
17/// HTTP server lifecycle and health routers.
18#[cfg(feature = "http")]
19pub mod http;
20/// HTTP server configuration owned by `rskit-server`.
21#[cfg(feature = "http")]
22pub mod http_config;
23/// Ordered HTTP middleware phases.
24#[cfg(feature = "http")]
25pub mod middleware;
26
27#[cfg(feature = "grpc")]
28pub use builder::GrpcServerBuilder;
29#[cfg(feature = "grpc")]
30pub use component::GrpcServer;
31#[cfg(feature = "grpc")]
32pub use config::{GrpcServerConfig, TlsConfig};
33#[cfg(feature = "grpc")]
34pub use error_layer::ErrorLayer;
35#[cfg(feature = "http")]
36pub use http::{HttpServer, HttpServerBuilder, health_router, healthz_router};
37#[cfg(feature = "http")]
38pub use http_config::{CorsPolicy, HttpServerConfig};
39#[cfg(feature = "http")]
40pub use middleware::{
41    HTTP_BASELINE_LAYER_ORDER, HTTP_INTERCEPTOR_ORDER, HttpMiddlewareStack, RouterTransform,
42};
43#[cfg(feature = "http")]
44pub use rskit_http::SecurityHeadersLayer;
45#[cfg(feature = "http")]
46pub use rskit_security::{SecurityHeadersConfig, TlsConfig as HttpTlsConfig, TransportSecurity};