StackpressGitHub

API reference

Router

Router registers route handlers, event listeners, import handlers, and view routes. Server extends Router, so these methods are also available on a server instance.

Import

import { Router } from 'stackpress/server';

Instantiation

const router = new Router();
router.get('/health', ({ res }) => {
  res.json({ ok: true });
});

This example creates an isolated router and registers one GET route.

Properties

PropertyDescription
actionAction router extension.
entryEntry router extension.
importImport router extension.
viewView router extension.
routesRegistered route map.
listenersRegistered event listener map.
importsRegistered import map.
viewsRegistered view map.

Route Methods

Router exposes method-specific route helpers: all, connect, delete, get, head, options, patch, post, put, and trace.

router.post('/articles', async ({ req, res }) => {
  res.results(req.data());
});

Each route helper registers a handler and returns the router instance.

Event And Resolution Methods

on(event, action, priority?)

Registers an event listener, import handler, or view action depending on the action shape.

Returns the router instance.

emit(event, req, res)

Calls listeners for an event.

Returns a promise for the event dispatch.

resolve(event, request?, response?)

Emits an event and returns a status response.

Returns a promise resolving to a partial status response.

resolve(method, path, request?, response?)

Routes to a method/path pair and returns a status response.

Returns a promise resolving to a partial status response.

Factory Methods

request(init?)

Creates a Request.

response(init?)

Creates a Response.

use(router)

Copies another router's action, entry, import, and view routes into this router.