option for URI decoded, but still html escaped urls

Este commit está contenido en:
AJ ONeal 2015-07-07 17:30:56 -06:00
padre 8d55d4910e
commit 4b19400634
Se han modificado 3 ficheros con 4 adiciones y 2 borrados

Ver fichero

@ -32,7 +32,8 @@ module.exports = app;
* This module will call `next()` if the connection is already tls / https.
* If `trustProxy` is true, and `X-Forward-Proto` is https, `next()` will be called.
* If you use `{{URL}}` in the body text it will be replaced with the url
* If you use `{{URL}}` in the body text it will be replaced with a URI encoded and HTML escaped url (it'll look just like it is)
* If you use `{{HTML_URL}}` in the body text it will be replaced with a URI decoded and HTML escaped url (it'll look just like it would in Chrome's URL bar)
## Demo

Ver fichero

@ -6,7 +6,7 @@ var port = process.argv[2] || 8080;
server.on('request', require('./')({
port: 8443
, body: '<a href="{{URL}}">{{URL}}</a>'
, body: 'Redirecting to <a href="{{URL}}">{{HTML_URL}}</a>'
, trustProxy: true // default is false
}));

Ver fichero

@ -32,6 +32,7 @@ module.exports = function (opts) {
//var encodedLocation = encodeURI(newLocation);
var escapedLocation = escapeHtml(newLocation);
var body = opts.body
.replace(/{{\s*HTML_URL\s*}}/ig, escapeHtml(decodeURIComponent(newLocation)))
.replace(/{{\s*URL\s*}}/ig, escapedLocation)
.replace(/{{\s*UNSAFE_URL\s*}}/ig, newLocation)
;