Skip to main content

Crate oxigdal_gateway

Crate oxigdal_gateway 

Source
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.
GatewayConfig
Gateway configuration.