Expand description
OxiGDAL API Gateway
Enterprise-grade API gateway with comprehensive features for geospatial services.
§Features
- Rate Limiting: Token bucket, leaky bucket, fixed/sliding window algorithms
- Authentication: API keys, JWT, OAuth2, session management, MFA
- API Versioning: Multiple version support with negotiation and migration
- GraphQL: Full GraphQL server with subscriptions and DataLoader
- WebSocket: Connection multiplexing and message routing
- Middleware: CORS, compression, caching, logging, metrics
- Load Balancing: Multiple strategies with health checks and circuit breaker
- Transformation: Request/response transformation and format adaptation
§Example
use oxigdal_gateway::{Gateway, GatewayConfig};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = GatewayConfig::default();
let gateway = Gateway::new(config)?;
gateway.serve("0.0.0.0:8080").await?;
Ok(())
}Re-exports§
pub use error::GatewayError;pub use error::Result;
Modules§
- auth
- Authentication and authorization module.
- error
- Error types for the OxiGDAL API Gateway.
- graphql
- GraphQL module structure
- loadbalancer
- Load balancing module.
- middleware
- Gateway middleware module.
- rate_
limit - Rate limiting framework for API gateway.
- transform
- Request/response transformation module.
- versioning
- API versioning framework.
- websocket
- WebSocket multiplexing and connection management.
Structs§
- Gateway
- API Gateway instance.
- Gateway
Config - Gateway configuration.