From 06c220d2d9629e3510aed493a8877629bbc0c4ae Mon Sep 17 00:00:00 2001 From: Peter Marton Date: Wed, 2 Jan 2019 15:42:51 -0800 Subject: [PATCH] feat(plugins): do not include user-input in UnsupportedMediaTypeError message (VError fails), move it to info (#1733) --- lib/plugins/bodyReader.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/plugins/bodyReader.js b/lib/plugins/bodyReader.js index 3736aadec..a71cfb0be 100644 --- a/lib/plugins/bodyReader.js +++ b/lib/plugins/bodyReader.js @@ -95,7 +95,7 @@ function bodyReader(options) { var hash; var md5; - var unsupportedCompression; + var unsupportedContentEncoding; if ((md5 = req.headers['content-md5'])) { hash = crypto.createHash('md5'); @@ -104,9 +104,17 @@ function bodyReader(options) { function done() { bodyWriter.end(); - if (unsupportedCompression) { - var error = unsupportedCompression + ' not supported'; - next(new UnsupportedMediaTypeError(error)); + if (unsupportedContentEncoding) { + next( + new UnsupportedMediaTypeError( + { + info: { + contentEncoding: unsupportedContentEncoding + } + }, + 'content encoding not supported' + ) + ); return; } @@ -149,7 +157,7 @@ function bodyReader(options) { gz.once('end', done); req.once('end', gz.end.bind(gz)); } else { - unsupportedCompression = req.headers['content-encoding']; + unsupportedContentEncoding = req.headers['content-encoding']; res.setHeader('Accept-Encoding', 'gzip'); req.once('end', done); }