Skip to main content

Module http

Module http 

Source
Expand description

Embedded HTTP server.

environmentd embeds an HTTP server for introspection into the running process. At the moment, its primary exports are Prometheus metrics, heap profiles, and catalog dumps.

§Authentication flow

The server supports several authentication modes, controlled by the configured listeners::AuthenticatorKind. The general flow is:

  1. Identity resolution. An authentication middleware runs on every protected request and resolves the caller’s identity via one of:

  2. Session initialization. Once the caller’s identity is known, an adapter session is opened on their behalf. This happens as part of request processing, after all middleware has run.

  3. Request handling. The handler executes the request (e.g. runs SQL) using the initialized adapter session.

§WebSocket

The WebSocket flow is identical to the HTTP flow with two differences:

  • Credentials are not read from request headers. Instead, the first message sent by the client is treated as the authentication message.
  • Session initialization (step 2) happens inside the WebSocket handler itself, rather than as a separate middleware step.

Modules§

mcp_metrics
Prometheus metrics for the MCP HTTP endpoints.

Structs§

AuthedClient
AuthedUser
HttpConfig
HttpServer
InternalRouteConfig
LoginCredentials
Metrics
SqlResponse
The response to a SqlRequest.
TowerSessionData
WebhookState
WsState

Enums§

WebSocketAuth
WebSocketResponse

Constants§

MAX_REQUEST_SIZE
Maximum allowed size for a request.

Functions§

handle_leader_promote
handle_leader_skip_catchup
handle_leader_status
handle_login
handle_logout