server
Run a Node server that starts, logs and shuts down cleanly.
BackendServerBuilt on h3
createServer
function createServer(options?: {
providers?: ProviderInput[] // usually rc.providers
config?: Record<string, unknown> // per-package config, keyed by package
env?: Record<string, unknown> // validated env from createEnv, exposed as app.env
server?: ServerConfig // shortcut for config.server
app?: KitrApp // reuse an app you created
logger?: Logger
}): KitrServer
KitrServer
| Member | Description |
|---|---|
listen({ port?, host? }) |
Boot, start a standalone server and run providers' ready. Resolves to { url, close() }. Handles SIGINT and SIGTERM. |
fetch(request) |
Web-standard handler. Boots on first call. |
boot() |
Run register and boot for every provider. |
close() |
Run providers' shutdown. |
mount(base, handler) |
Mount an h3 app or anything with fetch under a path. |
use(middleware) |
Add h3 middleware. |
app |
The kitr app: container, config, lifecycle. |
h3 |
The underlying h3 instance. |
logger |
The root logger. |
config |
Resolved server config. |
Request context
useRequest(): RequestContext // throws outside a request
tryUseRequest(): RequestContext | undefined
useRequestApp(fallback?): KitrApp // the request's container fork
runWithRequest(ctx, fn) // for custom adapters
interface RequestContext {
event: H3Event
app: KitrApp
requestId: string
logger: Logger
startedAt: number
locals: Record<string, unknown>
}
Errors
errorToResponse(error, event?): Response
normaliseServerError(error): KitrError
defineConfig
defineConfig(config: ServerConfig): ServerConfig
See the options table.