UNPKG

@sentry/browser

Version:
40 lines (37 loc) 1.26 kB
import { defineIntegration, safeSetSpanJSONAttributes } from '@sentry/core/browser'; import { WINDOW, getHttpRequestData } from '../helpers.js'; const httpContextIntegration = defineIntegration(() => { return { name: "HttpContext", preprocessEvent(event) { if (!WINDOW.navigator && !WINDOW.location && !WINDOW.document) { return; } const reqData = getHttpRequestData(); const headers = { ...reqData.headers, ...event.request?.headers }; event.request = { ...reqData, ...event.request, headers }; }, processSegmentSpan(span) { if (!WINDOW.navigator && !WINDOW.location && !WINDOW.document) { return; } const reqData = getHttpRequestData(); safeSetSpanJSONAttributes(span, { // Coerce empty string to undefined so the helper's nullish check drops it, // rather than writing an empty `url.full` attribute onto the span. "url.full": reqData.url || void 0, "http.request.header.user_agent": reqData.headers["User-Agent"], "http.request.header.referer": reqData.headers["Referer"] }); } }; }); export { httpContextIntegration }; //# sourceMappingURL=httpcontext.js.map