|
1 | 1 | import type { Breadcrumb, FetchBreadcrumbData } from '@sentry/core'; |
2 | 2 | import type { FetchHint, NetworkMetaWarning } from '@sentry-internal/browser-utils'; |
3 | | -import { |
4 | | - getBodyString, |
5 | | - getFetchRequestArgBody, |
6 | | - getFetchResponseHeaders, |
7 | | - setTimeout, |
8 | | -} from '@sentry-internal/browser-utils'; |
| 3 | +import { getBodyString, getFetchRequestArgBody, setTimeout } from '@sentry-internal/browser-utils'; |
9 | 4 | import { DEBUG_BUILD } from '../../debug-build'; |
10 | 5 | import type { |
11 | 6 | ReplayContainer, |
@@ -144,7 +139,7 @@ export async function _getResponseInfo( |
144 | 139 | return buildSkippedNetworkRequestOrResponse(responseBodySize); |
145 | 140 | } |
146 | 141 |
|
147 | | - const headers = response ? getFetchResponseHeaders(response.headers, networkResponseHeaders) : {}; |
| 142 | + const headers = response ? getAllHeaders(response.headers, networkResponseHeaders) : {}; |
148 | 143 |
|
149 | 144 | if (!response || (!networkCaptureBodies && responseBodySize !== undefined)) { |
150 | 145 | return buildNetworkRequestOrResponse(headers, responseBodySize, undefined); |
@@ -220,6 +215,18 @@ async function _parseFetchResponseBody(response: Response): Promise<[string | un |
220 | 215 | } |
221 | 216 | } |
222 | 217 |
|
| 218 | +function getAllHeaders(headers: Headers, allowedHeaders: string[]): Record<string, string> { |
| 219 | + const allHeaders: Record<string, string> = {}; |
| 220 | + |
| 221 | + allowedHeaders.forEach(header => { |
| 222 | + if (headers.get(header)) { |
| 223 | + allHeaders[header] = headers.get(header) as string; |
| 224 | + } |
| 225 | + }); |
| 226 | + |
| 227 | + return allHeaders; |
| 228 | +} |
| 229 | + |
223 | 230 | function getRequestHeaders(fetchArgs: unknown[], allowedHeaders: string[]): Record<string, string> { |
224 | 231 | if (fetchArgs.length === 1 && typeof fetchArgs[0] !== 'string') { |
225 | 232 | return getHeadersFromOptions(fetchArgs[0] as Request | RequestInit, allowedHeaders); |
@@ -247,7 +254,7 @@ function getHeadersFromOptions( |
247 | 254 | } |
248 | 255 |
|
249 | 256 | if (headers instanceof Headers) { |
250 | | - return getFetchResponseHeaders(headers, allowedHeaders); |
| 257 | + return getAllHeaders(headers, allowedHeaders); |
251 | 258 | } |
252 | 259 |
|
253 | 260 | // We do not support this, as it is not really documented (anymore?) |
|
0 commit comments