reifydb-sub-server-http 0.4.7

HTTP server subsystem for ReifyDB using Axum
Documentation

HTTP server subsystem for ReifyDB.

This crate provides an Axum-based HTTP server for handling query and command requests. It integrates with the shared tokio runtime and implements the transaction ReifyDB Subsystem trait for lifecycle management.

Features

  • REST API for query and command execution
  • Bearer token and auth token authentication
  • Request timeouts and connection limits
  • Graceful shutdown support
  • Health check endpoint

Endpoints

  • GET /health - Health check (no authentication required)
  • POST /v1/query - Execute read-only queries
  • POST /v1/command - Execute write commands

Example

use reifydb_core::SharedRuntime;
use reifydb_sub_server::{AppState, QueryConfig};
use reifydb_sub_server_http::HttpSubsystem;

// Create shared runtime
let runtime = SharedRuntime::new(4);

// Create application state
let state = AppState::new(pool, engine, QueryConfig::default(), RequestInterceptorChain::empty());

// Create and start HTTP subsystem
let mut http = HttpSubsystem::new(
    "0.0.0.0:8090".to_string(),
    state,
    runtime.handle(),
);
http.start()?;