egg-path-matching
egg-path-matching copied to clipboard
url path match/ignore support string, regexp and function
egg-path-matching
Installation
npm install egg-path-matching
Usage
import { pathMatching } from 'egg-path-matching';
const options = {
ignore: '/api', // string will use parsed by path-to-regexp
// support regexp
ignore: /^\/api/,
// support function
ignore: ctx => ctx.path.startsWith('/api'),
// support Array
ignore: [ ctx => ctx.path.startsWith('/api'), /^\/foo$/, '/bar'],
// support match or ignore
match: '/api',
};
const match = pathMatching(options);
assert.equal(match({ path: '/api' }), true);
assert.equal(match({ path: '/api/hello' }), true);
assert.equal(match({ path: '/api' }), true);
options
match{String | RegExp | Function | Array} - if request path hitoptions.match, will returntrue, otherwise will returnfalse.ignore{String | RegExp | Function | Array} - if request path hitoptions.ignore, will returnfalse, otherwise will returntrue.
ignore and match can not both be presented.
and if neither ignore nor match presented, the new function will always return true.
License
MIT
Contributors
dead-horse |
fengmk2 |
releasethecow |
atian25 |
xyeric |
|---|
This project follows the git-contributor spec, auto updated at Thu Dec 14 2023 17:20:14 GMT+0800.