xPulse
πŸ‡©πŸ‡ͺ DE

API

init()

await router.init();

Registriert alle bekannten Routes bei @xpulse/http.

register(method, path, handler, name = null, namePrefix = null, pathPrefix = null)

router.register('GET', '/info', handler);
router.register('GET', '/info/:page?', handler);

Optional mit Default-Params (Legacy-Signatur):

router.register('GET', '/tool/:tool/:page?', handler, { tool: 'chat', page: 'guide' });

Kompatibilitaet: Wenn das 4. Argument ein Object ist und keine Prefixe uebergeben werden, wird es als Legacy-defaults behandelt. Fuer Namen/Prefixe die neue Signatur nutzen.

Optional mit Name und Prefixen:

router.register('GET', '/info', handler, 'info.index', 'app', null);
router.register('GET', '/web-profiler/:traceId/dashboard/', handler, 'web-profiler.traceId.dashboard', 'debug', '/_debug');

Prefixe

Auto-generierte Routenamen starten standardmaessig mit app. und enthalten keine HTTP-Methode. Du kannst die Default-Prefixe ueber xpulse.json ueberschreiben:

{
"router": {
"name-prefix": "app",
"path-prefix": ""
}
}

Pro Package kannst du Prefixe direkt beim Registern setzen:

router.register('GET', '/web-profiler/:traceId/dashboard/', handler, 'web-profiler.traceId.dashboard', 'debug', '/_debug');

notFound(handler)

router.notFound((req, res) => {
res.status(404).send('Nicht gefunden');
});

getPath(pattern, params)

const path = router.getPath('/tool/:tool/:page?', { tool: 'chat' });
// -> /tool/chat/guide/ (defaults greifen)

list()

const routes = router.list();
// {
// 'info.index': { name, method, path, handler, defaults }
// }

Events

de/api.md 2026-03-19