JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 290023
  • Score
    100M100P100Q173328F
  • License MIT

URL rewrite middleware for express

Package Exports

  • express-urlrewrite
  • express-urlrewrite/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (express-urlrewrite) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

express-urlrewrite

URL rewrite middleware for express.

Examples

Rewrite using a regular expression, rewriting /i123 to /items/123.

app.use(rewrite(/^\/i(\w+)/, '/items/$1'));

Rewrite using route parameters, references may be named or numeric. For example rewrite /foo..bar to /commits/foo/to/bar:

app.use(rewrite('/:src..:dst', '/commits/$1/to/$2'));
app.use(rewrite('/:src..:dst', '/commits/:src/to/:dst'));

You may also use the wildcard * to soak up several segments, for example /js/vendor/jquery.js would become /public/assets/js/vendor/jquery.js:

app.use(rewrite('/js/*', '/public/assets/js/$1'));

In the above examples, the original query string (if any) is left untouched. The regular expression is applied to the full url, so the query string can be modified as well:

app.use(rewrite('/file\\?param=:param', '/file/:param'))

The query string delimiter (?) must be escaped for the regular expression to work.

New in version 1.1

app.use(rewrite('/path', '/anotherpath?param=some'))

now updates req.query, so req.query.param == 'some'.

New in version 1.2

rewrite can be used as a route middleware as in

app.get('/route/:var', rewrite('/rewritten/:var'));

app.get('/rewritten/:var', someMw);

Instead of passing control to next middleware, it passes control to next route.

Debugging

Set environment variable DEBUG=express-urlrewrite