px5
v0.0.9
Published
Patcher for express
Downloads
4
Maintainers
Readme
About
Express patcher to add extra route info to request object - req
. Can be used for group metrics for endpoints etc.
How it works
This patches application and Router's use, get, put, post, delete and patch methods to do the following things -
- Whenever any handler passed to those functions is called, the path it was mounted on is added to a stack.
- If the handler has a
next
method and it is invoked then path is popped from the stack. - If handler is an errorware then stack is not updated.
- Freezes the stack once
res.send
is invoked and it is not updated any further.
Final state of the stack represents the route the request took.
Usage
import px5 from "px5";
//patch before importing express
px5.patch();
import express from "express";
...
once patch is applied successfully following operations can be performed -
- Get path taken by request so far
px5.getNormalizedPath(req); // example: /api/order/:type
- If you want to manually freeze the stack it can be done like this
px5.freezeStack(req);
- Check if stack is frozen or not
px5.isStackFrozen(req);
Want to contribute?
Make your changes, add a changeset using npx changeset
and create a pr.
Todo
- Add tests
- Add methods to make it apply custom patches
- Improve typing