wzp
2021-05-13 7d694a9113118daec5be7ac224dab46a3b20f106
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
'use strict';
 
/**
 * This plugin deduplicates extra slashes found in the URL. This can help with
 * malformed URLs that might otherwise get misrouted.
 *
 * @public
 * @function dedupeSlashes
 * @returns {Function} Handler
 * @example
 * server.pre(restify.plugins.pre.dedupeSlashes());
 * server.get('/hello/:one', function(req, res, next) {
 *     res.send(200);
 *     return next();
 * });
 *
 * // the server will now convert requests to /hello//jake => /hello/jake
 */
function createDedupeSlashes() {
    return function dedupeSlashes(req, res, next) {
        req.url = req.url.replace(/(\/)\/+/g, '$1');
        return next();
    };
}
 
module.exports = createDedupeSlashes;