eggjs / egg-path-matching

url path match/ignore support string, regexp and function

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

egg-path-matching

NPM version CI Test coverage

Installation

npm install egg-path-matching

Usage

const pathMatching = require('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(match({ path: '/api' }) === true);
assert(match({ path: '/api/hello' }) === true);
assert(match({ path: '/api' }) === true);

options

  • match {String | RegExp | Function | Array} - if request path hit options.match, will return true, otherwise will return false.
  • ignore {String | RegExp | Function | Array} - if request path hit options.ignore, will return false, otherwise will return true.

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.

About

url path match/ignore support string, regexp and function

License:MIT License


Languages

Language:JavaScript 100.0%