{"version":3,"file":"addHeadersAsAttributes.js","sources":["../../../../src/common/utils/addHeadersAsAttributes.ts"],"sourcesContent":["import type { Span, WebFetchHeaders } from '@sentry/core';\nimport { getClient, httpHeadersToSpanAttributes, winterCGHeadersToDict } from '@sentry/core';\n\n/**\n * Extracts HTTP request headers as span attributes and optionally applies them to a span.\n */\nexport function addHeadersAsAttributes(\n headers: WebFetchHeaders | Headers | Record | undefined,\n span?: Span,\n): Record {\n if (!headers) {\n return {};\n }\n\n const headersDict: Record =\n headers instanceof Headers || (typeof headers === 'object' && 'get' in headers)\n ? winterCGHeadersToDict(headers as Headers)\n : headers;\n\n const headerAttributes = httpHeadersToSpanAttributes(headersDict, getClient()?.getOptions().sendDefaultPii ?? false);\n\n if (span) {\n span.setAttributes(headerAttributes);\n }\n\n return headerAttributes;\n}\n"],"names":["winterCGHeadersToDict","httpHeadersToSpanAttributes","getClient"],"mappings":";;;;AAGA;AACA;AACA;AACO,SAAS,sBAAsB;AACtC,EAAE,OAAO;AACT,EAAE,IAAI;AACN,EAA0B;AAC1B,EAAE,IAAI,CAAC,OAAO,EAAE;AAChB,IAAI,OAAO,EAAE;AACb,EAAE;;AAEF,EAAE,MAAM,WAAW;AACnB,IAAI,OAAA,YAAmB,OAAA,KAAY,OAAO,OAAA,KAAY,QAAA,IAAY,KAAA,IAAS,OAAO;AAClF,QAAQA,0BAAqB,CAAC,OAAA;AAC9B,QAAQ,OAAO;;AAEf,EAAE,MAAM,gBAAA,GAAmBC,gCAA2B,CAAC,WAAW,EAAEC,cAAS,EAAE,EAAE,UAAU,EAAE,CAAC,cAAA,IAAkB,KAAK,CAAC;;AAEtH,EAAE,IAAI,IAAI,EAAE;AACZ,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC;AACxC,EAAE;;AAEF,EAAE,OAAO,gBAAgB;AACzB;;;;"}