The server module provides ThemisDB's client-facing runtime surface: HTTP and stream-facing server behavior, API handler integration, middleware and request lifecycle control, selected protocol services, and operational endpoints for health, administration, governance, and observability.
| Interface / File | Role |
|---|---|
| http_server.cpp | core HTTP server lifecycle and dispatch behavior |
| api_gateway.cpp | routing and gateway behavior |
| auth_middleware.cpp | authentication and authorization middleware behavior |
| rate_limiting_middleware.cpp | request throttling behavior |
| adaptive_rate_limiter.cpp | adaptive rate control behavior |
| load_shedder.cpp | overload protection behavior |
| chunked_response_writer.cpp | streaming/chunked response behavior |
| changefeed_api_handler.cpp | SSE and changefeed endpoint behavior |
| graphql_api_handler.cpp | GraphQL endpoint behavior |
| health_error_service.cpp | health and error endpoint behavior |
| admin_api_handler.cpp | administrative endpoint behavior |
| entity_api_handler.cpp | document endpoint behavior |
| query_api_handler.cpp | query endpoint behavior |
| llm_api_handler.cpp | LLM endpoint behavior |
| vector_api_handler.cpp | vector endpoint behavior |
| graph_api_handler.cpp | graph endpoint behavior |
| timeseries_api_handler.cpp | timeseries endpoint behavior |
| websocket_session.cpp | WebSocket session behavior |
| mqtt_session.cpp | MQTT session behavior |
| postgres_session.cpp | PostgreSQL wire session behavior |
| themis_core_grpc_service.cpp | gRPC service behavior |
| wal_grpc_service.cpp | WAL gRPC behavior |
In scope:
- HTTP request lifecycle, handler dispatch, and middleware behavior
- selected stream/protocol session behavior owned by server runtime
- health, admin, observability, governance, and API endpoint surfaces
Out of scope:
- storage, query execution, or index internals owned by other modules
- client SDKs and external consumer libraries outside server runtime boundaries
- server behavior depends on routing, middleware, and endpoint-handler composition.
- hot paths include HTTP request build/parse helpers, selected endpoint paths, and stream protocol helpers.
- degradation under overload must remain explicit through rate limiting, shedding, and health signaling.
- Verified files:
- src/server/http_server.cpp
- src/server/api_gateway.cpp
- src/server/auth_middleware.cpp
- src/server/rate_limiting_middleware.cpp
- src/server/adaptive_rate_limiter.cpp
- src/server/load_shedder.cpp
- src/server/chunked_response_writer.cpp
- src/server/changefeed_api_handler.cpp
- src/server/graphql_api_handler.cpp
- src/server/health_error_service.cpp
- src/server/admin_api_handler.cpp
- src/server/entity_api_handler.cpp
- src/server/query_api_handler.cpp
- src/server/llm_api_handler.cpp
- src/server/vector_api_handler.cpp
- src/server/graph_api_handler.cpp
- src/server/timeseries_api_handler.cpp
- src/server/websocket_session.cpp
- src/server/mqtt_session.cpp
- src/server/postgres_session.cpp
- src/server/themis_core_grpc_service.cpp
- src/server/wal_grpc_service.cpp
- Verified benchmark anchors:
- benchmarks/bench_api_endpoints.cpp
- benchmarks/bench_stream_protocol.cpp