From ff918fb6dedb6d8b23421497ec890d43f45121b7 Mon Sep 17 00:00:00 2001 From: deadNightTiger Date: Tue, 1 Dec 2020 03:03:07 +0400 Subject: [PATCH] Fix promise shortcuts in case of error status code (#1543) --- source/as-promise/index.ts | 4 ++-- test/promise.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/as-promise/index.ts b/source/as-promise/index.ts index efd94703c..8f3698ede 100644 --- a/source/as-promise/index.ts +++ b/source/as-promise/index.ts @@ -124,13 +124,13 @@ export default function asPromise(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); }); diff --git a/test/promise.ts b/test/promise.ts index e797735be..043612d11 100644 --- a/test/promise.ts +++ b/test/promise.ts @@ -80,7 +80,7 @@ test('promise.json() can be called before a file stream body is open', withServe await Promise.all(checks); }); -test.failing('promise.json() does not fail when server returns an error', withServer, async (t, server, got) => { +test('promise.json() does not fail when server returns an error', withServer, async (t, server, got) => { server.get('/', (_request, response) => { response.statusCode = 400; response.end('{}');