diff --git a/packages/datadog-plugin-http/src/client.js b/packages/datadog-plugin-http/src/client.js index bf1e416e62f..94725ed95c8 100644 --- a/packages/datadog-plugin-http/src/client.js +++ b/packages/datadog-plugin-http/src/client.js @@ -102,7 +102,9 @@ class HttpClientPlugin extends ClientPlugin { addResponseHeaders(res, span, this.config) } - addRequestHeaders(req, span, this.config) + if (req) { + addRequestHeaders(req, span, this.config) + } this.config.hooks.request(span, req, res) diff --git a/packages/datadog-plugin-http/test/client.spec.js b/packages/datadog-plugin-http/test/client.spec.js index 3415d92948d..6af6011b872 100644 --- a/packages/datadog-plugin-http/test/client.spec.js +++ b/packages/datadog-plugin-http/test/client.spec.js @@ -944,9 +944,13 @@ describe('Plugin', () => { .then(done) .catch(done) - http.request('https://httpbin.org/get', { headers: { BadHeader: 'a\nb' } }, res => { - res.on('data', () => { }) - }) + try { + http.request('http://httpbin.org/get', { headers: { BadHeader: 'a\nb' } }, res => { + res.on('data', () => { }) + }) + } catch { + // expected to throw error + } }) })