From dc09bb1198776669d17c21d8eb2e9955905656a3 Mon Sep 17 00:00:00 2001 From: Walt Jones Date: Thu, 23 Oct 2025 11:46:16 -0400 Subject: [PATCH] add netowrk bodies to events when enabled --- src/telemetry.js | 8 ++++++++ test/telemetry.test.js | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/src/telemetry.js b/src/telemetry.js index e3d8a05a..eb6284bb 100644 --- a/src/telemetry.js +++ b/src/telemetry.js @@ -183,6 +183,14 @@ class Telemeter { 'response.headers': JSON.stringify(metadata.response?.headers || {}), 'response.timeUnixNano': endTimeNano.toString(), }; + const requestBody = metadata.request; + const responseBody = metadata.response?.body; + if (requestBody) { + otelAttributes['request.body'] = JSON.stringify(requestBody); + } + if (responseBody) { + otelAttributes['response.body'] = JSON.stringify(responseBody); + } this.telemetrySpan?.addEvent( 'rollbar-network-event', diff --git a/test/telemetry.test.js b/test/telemetry.test.js index cdaa59cf..ccab69f1 100644 --- a/test/telemetry.test.js +++ b/test/telemetry.test.js @@ -167,8 +167,10 @@ describe('capture events', function () { method: 'GET', status_code: 400, request_headers: { 'Content-Type': 'application/json' }, + request: { params: 'foo' }, response: { headers: { 'Content-Type': 'application/json' }, + body: { data: 'foo' }, }, start_time_ms: timestamp, end_time_ms: 12345678, @@ -188,6 +190,8 @@ describe('capture events', function () { url: metadata.url, 'request.headers': JSON.stringify(metadata.request_headers), 'response.headers': JSON.stringify(metadata.response.headers), + 'request.body': JSON.stringify(metadata.request), + 'response.body': JSON.stringify(metadata.response.body), 'response.timeUnixNano': (metadata.end_time_ms * 1e6).toString(), }); @@ -202,6 +206,8 @@ describe('capture events', function () { url: metadata.url, 'request.headers': JSON.stringify(metadata.request_headers), 'response.headers': JSON.stringify(metadata.response.headers), + 'request.body': JSON.stringify(metadata.request), + 'response.body': JSON.stringify(metadata.response.body), 'response.timeUnixNano': (metadata.end_time_ms * 1e6).toString(), }); done();