0.0.9 • Published 1 year ago

px5 v0.0.9

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

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 -

  1. Get path taken by request so far
px5.getNormalizedPath(req); // example: /api/order/:type
  1. If you want to manually freeze the stack it can be done like this
px5.freezeStack(req);
  1. 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
0.0.9

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago