Skip to content

Commit

Permalink
Backport #1543: Initialize globalResponse in case of ignored HTTPError (
Browse files Browse the repository at this point in the history
  • Loading branch information
nextlevelbeard authored Apr 6, 2022
1 parent 0da732f commit 20f29fe
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
4 changes: 2 additions & 2 deletions source/as-promise/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,13 +124,13 @@ export default function asPromise<T>(normalizedOptions: NormalizedOptions): Canc
return;
}

globalResponse = response;

if (!isResponseOk(response)) {
request._beforeError(new HTTPError(response));
return;
}

globalResponse = response;

resolve(request.options.resolveBodyOnly ? response.body as T : response as unknown as T);
});

Expand Down
10 changes: 10 additions & 0 deletions test/promise.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,3 +85,13 @@ test('promise.json() can be called before a file stream body is open', withServe

await Promise.all(checks);
});

test('promise.json() does not fail when server returns an error and throwHttpErrors is disabled', withServer, async (t, server, got) => {
server.get('/', (_request, response) => {
response.statusCode = 400;
response.end('{}');
});

const promise = got('', {throwHttpErrors: false});
await t.notThrowsAsync(promise.json());
});

0 comments on commit 20f29fe

Please sign in to comment.