feat: Remove heavy reliance on prototype chaining on the req/res pair #7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
feat: Upgrade to the latest
path-to-regexp
BREAKING CHANGE: This design changes the Express app from a Function to a Class which has many impacts. One example is when creating the applicatio
n. This design introduces 3 main classes, ExpressApp, ExpressResponse, and ExpressRequest. The req/res pair are now instances of ExpressRequest/Response, which extend the http.IncomingMessage/ServerResponse. I tried several approaches to removing the prototype chain design, this one was the only one where I was able to successfully change the design and tests still pass (except for the ones that tested the prototypical features).
Some things you used to be able do that you can no longer do are:
Checkout the Exports.mjs test to see how to accomplish the same thing with the new design.
BREAKING CHANGE: Upgrading to the latest
path-to-regexp
breaks old routing patterns like /user/* (use /user/(.*) instead). Checkout path-to-regexp Github repo for details.