Add support for scoped packages in blacklist URLs

This commit is contained in:
MICHAEL JACKSON
2017-11-14 16:47:57 -08:00
parent 4e31fd02cf
commit 36efac099f
4 changed files with 69 additions and 27 deletions

View File

@ -0,0 +1,25 @@
const parsePackageURL = require('../utils/parsePackageURL')
/**
* Adds various properties to the request object to do with the
* package/file being requested.
*/
function validatePackageURL(req, res, next) {
const url = parsePackageURL(req.url)
if (url == null) {
return res.status(403).send({ error: `Invalid URL: ${req.url}` })
}
req.packageName = url.packageName
req.packageVersion = url.packageVersion
req.packageSpec = `${url.packageName}@${url.packageVersion}`
req.pathname = url.pathname
req.filename = url.filename
req.search = url.search
req.query = url.query
next()
}
module.exports = validatePackageURL