From cd6a69c1b897f63d5f1defa678df3b3ec41f2b39 Mon Sep 17 00:00:00 2001 From: Todd Anderson Date: Thu, 24 Apr 2025 17:15:12 -0500 Subject: [PATCH] feat: error event now includes response headers --- lib/eventsource.js | 4 ++-- test/eventsource_test.js | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/eventsource.js b/lib/eventsource.js index feb6ee8..e08497e 100644 --- a/lib/eventsource.js +++ b/lib/eventsource.js @@ -221,7 +221,7 @@ function EventSource (url, eventSourceInitDict) { if (res.statusCode === 301 || res.statusCode === 307) { if (!res.headers.location) { // Server sent redirect response without Location header. - failOnce({ status: res.statusCode, message: res.statusMessage }) + failOnce({ status: res.statusCode, headers: res.headers, message: res.statusMessage }) return } if (res.statusCode === 307) reconnectUrl = url @@ -232,7 +232,7 @@ function EventSource (url, eventSourceInitDict) { // Handle HTTP errors if (res.statusCode !== 200) { - failOnce({ status: res.statusCode, message: res.statusMessage }) + failOnce({ status: res.statusCode, headers: res.headers, message: res.statusMessage }) return } diff --git a/test/eventsource_test.js b/test/eventsource_test.js index e866ace..7764cec 100644 --- a/test/eventsource_test.js +++ b/test/eventsource_test.js @@ -540,6 +540,7 @@ describe('HTTP Request', () => { const errors = startErrorQueue(es) const err = await errors.take() assert.equal(err.status, status) + assert.notEqual(err.headers, undefined) }) }) })