-
Notifications
You must be signed in to change notification settings - Fork 23
Open
Description
When query parameters are specified in the path pattern, it does not match paths that omit all query parameters
import { Path } from 'path-parser';
const path = new Path('/foo?:bar');
// Returns {bar: 1} as expected
console.log(path.test('/foo?bar=1'));
// Fails to match, returns null. I expect this to return {foo: undefined}
console.log(path.test('/foo'));
Seems like the reason this is happening is that the full path is passed into search-string for query param parsing (
Line 187 in 2ee0233
| const queryParams = parseQueryParams(path, options.queryParams) |
/foo, search-string will try to interpret /foo as a query param key, and end up returning {'/foo': null}. This causes path matching to fail, because /foo is an unexpected keymadfriend
Metadata
Metadata
Assignees
Labels
No labels