Sample Configuration
Configuration
The port to listen on. Defaults to
3111.The host to listen on. Defaults to
0.0.0.0.The default timeout in milliseconds for request processing. Defaults to
30000.The maximum number of concurrent requests the server will handle. Defaults to
1024.The CORS configuration.
Maximum request body size in bytes. Defaults to
1048576 (1 MB).When
true, the engine trusts proxy headers such as X-Forwarded-For for client IP resolution. Defaults to false.Header name used to propagate or generate a request ID. Defaults to
x-request-id.When
true, routes with and without a trailing slash are treated as equivalent. Defaults to false.Function ID to invoke when no route matches a request. When unset, the engine returns a default 404 response.
Trigger Type
This module adds a new Trigger Type:http.
Sample code
Request & Response Objects
ApiRequest
When an API trigger fires, the function receives anApiRequest object:
The request path.
The HTTP method of the request (e.g.,
GET, POST).Variables extracted from the URL path (e.g.,
/users/:id).URL query string parameters.
The parsed request body (JSON).
HTTP request headers.
Metadata about the trigger that fired the function.
Request context object. Populated by middleware and available to handler functions.
ApiResponse
Functions must return anApiResponse object:
HTTP status code (e.g., 200, 404, 500).
The response payload.
HTTP response headers as
"Header-Name: value" strings (e.g., ["Content-Type: application/json"]). Optional.Middleware
The HTTP module supports a middleware system that runs functions at defined phases of the request lifecycle. Middleware functions are registered using thehttp_middleware trigger type.
Phases
| Phase | Description |
|---|---|
onRequest | Runs before route matching. |
preHandler | Runs after route match, before the handler. |
postHandler | Runs after the handler returns a response. |
onResponse | Runs after the response is sent (fire-and-forget). |
onError | Runs when the handler returns an error. |
onTimeout | Runs when the handler exceeds the configured timeout. |
Middleware Trigger Config
Middleware Function Contract
Middleware functions receive aMiddlewareRequest object:
The phase in which the middleware is executing.
The current
ApiRequest object.Accumulated context from previous middleware in the same phase.
Present on
preHandler and later phases. Contains function_id and path_pattern.Present on
onResponse phase only. The response that was sent.{ action: "continue", request?: object, context?: object }— pass control to the next middleware. Optionalrequestandcontextpatches are deep-merged into the current values.{ action: "respond", response: { status_code, body, headers } }— short-circuit and return a response immediately. Subsequent middleware in the same phase is skipped.