New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

express-urlrewrite

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

express-urlrewrite - npm Package Compare versions

Comparing version 1.1.0 to 1.2.0

51

index.js

@@ -26,27 +26,38 @@

function rewrite(src, dst) {
var keys = [];
var re = toRegexp(src, keys);
var map = toMap(keys);
var keys = [], re, map;
debug('rewrite %s -> %s %s', src, dst, re);
if (dst) {
re = toRegexp(src, keys);
map = toMap(keys);
debug('rewrite %s -> %s %s', src, dst, re);
} else {
debug('rewrite current route -> %s', src);
}
return function(req, res, next){
return function(req, res, next) {
var orig = req.url;
var m = re.exec(orig);
if (m) {
req.url = dst.replace(/\$(\d+)|(?::(\w+))/g, function(_, n, name){
if (name) return m[map[name].index + 1];
var m;
if (dst) {
m = re.exec(orig);
if (!m) {
return next();
}
}
req.url = (dst || src).replace(/\$(\d+)|(?::(\w+))/g, function(_, n, name) {
if (name) {
if (m) return m[map[name].index + 1];
else return req.params[name];
} else if (m) {
return m[n];
});
debug('rewrite %s -> %s', orig, req.url);
if (req.url.indexOf('?') > 0) {
req.query = URL.parse(req.url, true).query;
debug('rewrite updated new query', req.query);
} else {
return req.params[n];
}
});
debug('rewrite %s -> %s', orig, req.url);
if (req.url.indexOf('?') > 0) {
req.query = URL.parse(req.url, true).query;
debug('rewrite updated new query', req.query);
}
next();
if (dst) next();
else next('route');
}

@@ -66,3 +77,3 @@ }

params.forEach(function(param, i){
params.forEach(function(param, i) {
param.index = i;

@@ -69,0 +80,0 @@ map[param.name] = param;

@@ -8,3 +8,3 @@ {

},
"version": "1.1.0",
"version": "1.2.0",
"keywords": [

@@ -11,0 +11,0 @@ "express",

@@ -51,4 +51,16 @@ express-urlrewrite

## New in version 1.2
rewrite can be used as a route middleware as in
```js
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`
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc