Replace ~ only at the beginning of URL path (eg. "~node") #98
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.
I've noticed that the first
~
character in the request URL path is replaced by a$
character. I assume this exists to support calling actions exposed by the internal$node
service (see here), eg.GET /~node/list
is calling the action$node.list
.In our case this causes problems because we have a service exposing database records (using
moleculer-db
) containing a~
in their ID and use the following alias:When calling
GET /contacts/ABC~123
, theparams.id
isABC$123
instead ofABC~123
.I've changed the regex to only replace the tilde from the beginning of the path, but I'm not sure if this breaks some other feature I might have missed.