diff --git a/index.js b/index.js index 8fbc358..baf5f26 100644 --- a/index.js +++ b/index.js @@ -72,7 +72,8 @@ function requestAsEventEmitter(opts) { const value = JSON.stringify({ policy: policy.toObject(), response: { - headers: response.headers, + url: response.url, + statusCode: response.statusCode, body: data } }); @@ -120,8 +121,13 @@ function requestAsEventEmitter(opts) { opts.cache.delete(key); throw new Error('Cached value is stale'); } - cachedValue.response.headers = policy.responseHeaders(); - const response = responseFromCache(requestUrl, cachedValue.response); + const { + statusCode, + body, + url + } = cachedValue.response; + const headers = policy.responseHeaders(); + const response = new Response(statusCode, headers, Buffer.from(body), url); ee.emit('response', response); }); }; @@ -348,10 +354,6 @@ function cacheKey(opts) { return `${opts.method}:${url}`; } -function responseFromCache(url, cachedResponse) { - return new Response(200, cachedResponse.headers, Buffer.from(cachedResponse.body), url); -} - function got(url, opts) { try { return asPromise(normalizeArguments(url, opts));