this/server/exposure/mod.rs
1//! API Exposure modules for different protocols
2//!
3//! This module provides implementations for exposing the API via different protocols.
4//! Each exposure type consumes a `ServerHost` and produces a Router for that protocol.
5
6pub mod rest;
7
8#[cfg(feature = "graphql")]
9pub mod graphql;
10
11// Re-export for convenience
12pub use rest::RestExposure;
13
14#[cfg(feature = "graphql")]
15pub use graphql::GraphQLExposure;
16
17#[cfg(feature = "websocket")]
18pub mod websocket;
19
20#[cfg(feature = "websocket")]
21pub use websocket::WebSocketExposure;
22
23#[cfg(feature = "grpc")]
24pub mod grpc;
25
26#[cfg(feature = "grpc")]
27pub use grpc::GrpcExposure;
28
29// Future expositions
30// pub mod openapi;