Re-organize package URL parsing

This commit is contained in:
MICHAEL JACKSON
2017-08-19 11:44:01 -07:00
parent 17f6a6bbe9
commit 066729f17c
7 changed files with 29 additions and 31 deletions

View File

@ -1,9 +1,9 @@
const fs = require('fs')
const path = require('path')
const semver = require('semver')
const createPackageURL = require('../utils/createPackageURL')
const getPackage = require('./utils/getPackage')
const getPackageInfo = require('./utils/getPackageInfo')
const PackageURL = require('../PackageURL')
const FindExtensions = [ '', '.js', '.json' ]
@ -137,7 +137,7 @@ function fetchFile(req, res, next) {
res.set({
'Cache-Control': 'public, max-age=60',
'Cache-Tag': 'redirect'
}).redirect(PackageURL.create(req.packageName, tags[req.packageVersion], req.filename, req.search))
}).redirect(createPackageURL(req.packageName, tags[req.packageVersion], req.filename, req.search))
} else {
const maxVersion = semver.maxSatisfying(Object.keys(versions), req.packageVersion)
@ -146,7 +146,7 @@ function fetchFile(req, res, next) {
res.set({
'Cache-Control': 'public, max-age=60',
'Cache-Tag': 'redirect'
}).redirect(PackageURL.create(req.packageName, maxVersion, req.filename, req.search))
}).redirect(createPackageURL(req.packageName, maxVersion, req.filename, req.search))
} else {
res.status(404).type('text').send(`Cannot find package ${req.packageSpec}`)
}

View File

@ -1,5 +1,5 @@
const validateNPMPackageName = require('validate-npm-package-name')
const PackageURL = require('../PackageURL')
const parsePackageURL = require('../utils/parsePackageURL')
const KnownQueryParams = {
expand: true,
@ -45,7 +45,7 @@ function createSearch(query) {
/**
* Parse and validate the URL.
*/
function parsePackageURL(req, res, next) {
function packageURL(req, res, next) {
// Redirect /_meta/pkg to /pkg?meta.
if (req.path.match(/^\/_meta\//)) {
delete req.query.json
@ -53,7 +53,7 @@ function parsePackageURL(req, res, next) {
return res.redirect(req.path.substr(6) + createSearch(req.query))
}
const url = PackageURL.parse(req.url)
const url = parsePackageURL(req.url)
// Do not allow invalid URLs.
if (url == null)
@ -82,4 +82,4 @@ function parsePackageURL(req, res, next) {
next()
}
module.exports = parsePackageURL
module.exports = packageURL