fix: servers returning bad headers was breaking request. temporarily (#20)

using fork with a fix for this until request merges the necessary pull request
pull/21/head
Adam Pash 8 years ago committed by GitHub
parent 629eada1f7
commit eaea57461a

12
dist/mercury.js vendored

@ -109,7 +109,12 @@ function validateResponse(response) {
var parseNon2xx = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
// Check if we got a valid status code
if (response.statusMessage !== 'OK') {
// This isn't great, but I'm requiring a statusMessage to be set
// before short circuiting b/c nock doesn't set it in tests
// statusMessage only not set in nock response, in which case
// I check statusCode, which is currently only 200 for OK responses
// in tests
if (response.statusMessage && response.statusMessage !== 'OK' || response.statusCode !== 200) {
if (!response.statusCode) {
throw new Error('Unable to fetch content. Original exception was ' + response.error);
} else if (!parseNon2xx) {
@ -179,7 +184,10 @@ var fetchResource$1 = (function () {
_context.prev = 7;
validateResponse(response);
return _context.abrupt('return', { body: body, response: response });
return _context.abrupt('return', {
body: body,
response: response
});
case 12:
_context.prev = 12;

File diff suppressed because one or more lines are too long

@ -11,7 +11,7 @@
"build-generator": "rollup -c scripts/rollup.config.js",
"test_build": "rollup -c",
"test": "jest",
"watch:test": "jest --watch --noStackTrace",
"watch:test": "jest --watch",
"generate-parser": "node ./dist/generate-custom-parser.js",
"add-contributor": "all-contributors add",
"generate-contributors": "all-contributors generate"
@ -59,7 +59,7 @@
"difflib": "^0.2.4",
"ellipsize": "0.0.2",
"moment": "^2.14.1",
"request": "^2.74.0",
"request": "czardoz/request",
"request-promise": "^4.1.1",
"string-direction": "^0.1.2",
"valid-url": "^1.0.9",

@ -104,7 +104,10 @@ export default async function fetchResource(url, parsedUrl) {
try {
validateResponse(response);
return { body, response };
return {
body,
response,
};
} catch (e) {
return Errors.badUrl;
}

@ -40,6 +40,13 @@ describe('fetchResource(url)', () => {
assert.equal(typeof body, 'object');
});
it('handles this gzip error', async () => {
const url = 'http://www.redcross.ca/blog/2016/11/photo-of-the-day--one-year-anniversary-of-the-end-of-ebola-in-sierra-leone';
const { body } = await fetchResource(url);
assert.equal(typeof body, 'object');
});
});
describe('validateResponse(response)', () => {

@ -155,7 +155,7 @@ async@^1.4.0, async@^1.4.2, async@1.x:
version "1.5.2"
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
async@^2.0.0-rc.1:
async@^2.0.0-rc.1, async@^2.0.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/async/-/async-2.1.2.tgz#612a4ab45ef42a70cde806bad86ee6db047e8385"
dependencies:
@ -712,6 +712,12 @@ bcrypt-pbkdf@^1.0.0:
dependencies:
tweetnacl "^0.14.3"
bl@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398"
dependencies:
readable-stream "~2.0.5"
bluebird@^3.4.1:
version "3.4.6"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.6.tgz#01da8d821d87813d158967e743d5fe6c62cf8c0f"
@ -1496,6 +1502,14 @@ forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
form-data@~1.0.0-rc4:
version "1.0.1"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.1.tgz#ae315db9a4907fa065502304a66d7733475ee37c"
dependencies:
async "^2.0.1"
combined-stream "^1.0.5"
mime-types "^2.1.11"
form-data@~2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.1.tgz#4adf0342e1a79afa1e84c8c320a9ffc82392a1f3"
@ -2603,7 +2617,7 @@ mime-db@~1.24.0:
version "1.24.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.24.0.tgz#e2d13f939f0016c6e4e9ad25a8652f126c467f0c"
mime-types@^2.1.12, mime-types@~2.1.7:
mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.7:
version "2.1.12"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.12.tgz#152ba256777020dd4663f54c2e7bc26381e71729"
dependencies:
@ -2958,6 +2972,10 @@ qs@^6.0.2, qs@~6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442"
qs@~6.2.0:
version "6.2.1"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625"
randomatic@^1.1.3:
version "1.1.5"
resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.5.tgz#5e9ef5f2d573c67bd2b8124ae90b5156e457840b"
@ -2992,7 +3010,7 @@ readable-stream@^2.0.2:
string_decoder "~0.10.x"
util-deprecate "~1.0.1"
readable-stream@~2.0.0:
readable-stream@~2.0.0, readable-stream@~2.0.5:
version "2.0.6"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
dependencies:
@ -3078,7 +3096,7 @@ request-promise@^4.1.1:
request-promise-core "1.1.1"
stealthy-require "^1.0.0"
request@^2.55.0, request@^2.72.0, request@^2.74.0:
request@^2.55.0, request@^2.72.0:
version "2.76.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.76.0.tgz#be44505afef70360a0436955106be3945d95560e"
dependencies:
@ -3103,6 +3121,32 @@ request@^2.55.0, request@^2.72.0, request@^2.74.0:
tough-cookie "~2.3.0"
tunnel-agent "~0.4.1"
request@czardoz/request:
version "2.74.1"
resolved "https://codeload.github.com/czardoz/request/tar.gz/6ebb4651b72bee7292e54943adfa6b503465adfb"
dependencies:
aws-sign2 "~0.6.0"
aws4 "^1.2.1"
bl "~1.1.2"
caseless "~0.11.0"
combined-stream "~1.0.5"
extend "~3.0.0"
forever-agent "~0.6.1"
form-data "~1.0.0-rc4"
har-validator "~2.0.6"
hawk "~3.1.3"
http-signature "~1.1.0"
is-typedarray "~1.0.0"
isstream "~0.1.2"
json-stringify-safe "~5.0.1"
mime-types "~2.1.7"
node-uuid "~1.4.7"
oauth-sign "~0.8.1"
qs "~6.2.0"
stringstream "~0.0.4"
tough-cookie "~2.3.0"
tunnel-agent "~0.4.1"
require-directory@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"

Loading…
Cancel
Save