httpcontext.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. Object.defineProperty(exports, '__esModule', { value: true });
  2. const core = require('@sentry/core');
  3. const helpers = require('../helpers.js');
  4. const INTEGRATION_NAME = 'HttpContext';
  5. const _httpContextIntegration = (() => {
  6. return {
  7. name: INTEGRATION_NAME,
  8. // TODO v8: Remove this
  9. setupOnce() {}, // eslint-disable-line @typescript-eslint/no-empty-function
  10. preprocessEvent(event) {
  11. // if none of the information we want exists, don't bother
  12. if (!helpers.WINDOW.navigator && !helpers.WINDOW.location && !helpers.WINDOW.document) {
  13. return;
  14. }
  15. // grab as much info as exists and add it to the event
  16. const url = (event.request && event.request.url) || (helpers.WINDOW.location && helpers.WINDOW.location.href);
  17. const { referrer } = helpers.WINDOW.document || {};
  18. const { userAgent } = helpers.WINDOW.navigator || {};
  19. const headers = {
  20. ...(event.request && event.request.headers),
  21. ...(referrer && { Referer: referrer }),
  22. ...(userAgent && { 'User-Agent': userAgent }),
  23. };
  24. const request = { ...event.request, ...(url && { url }), headers };
  25. event.request = request;
  26. },
  27. };
  28. }) ;
  29. const httpContextIntegration = core.defineIntegration(_httpContextIntegration);
  30. /**
  31. * HttpContext integration collects information about HTTP request headers.
  32. * @deprecated Use `httpContextIntegration()` instead.
  33. */
  34. // eslint-disable-next-line deprecation/deprecation
  35. const HttpContext = core.convertIntegrationFnToClass(INTEGRATION_NAME, httpContextIntegration)
  36. ;
  37. exports.HttpContext = HttpContext;
  38. exports.httpContextIntegration = httpContextIntegration;
  39. //# sourceMappingURL=httpcontext.js.map