Companion: Fix invalid referrer crashing the process

This commit is contained in:
Julian Gruber 2021-07-04 20:02:10 +02:00
parent b601da6cb2
commit a785f7deeb
No known key found for this signature in database
GPG key ID: E6D01B63985FD2A9

View file

@ -67,7 +67,12 @@ module.exports = function server (inputCompanionOptions = {}) {
morgan.token('referrer', (req, res) => {
const ref = req.headers.referer || req.headers.referrer
if (typeof ref === 'string') {
const parsed = new URL(ref)
let parsed
try {
parsed = new URL(ref)
} catch (_) {
return ref
}
const rawQuery = qs.parse(parsed.search.replace('?', ''))
const { query, censored } = censorQuery(rawQuery)
return censored ? `${parsed.href.split('?')[0]}?${qs.stringify(query)}` : parsed.href