richHttpContent.tsx 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import {Fragment} from 'react';
  2. import ClippedBox from 'sentry/components/clippedBox';
  3. import ErrorBoundary from 'sentry/components/errorBoundary';
  4. import {getMeta} from 'sentry/components/events/meta/metaProxy';
  5. import {t} from 'sentry/locale';
  6. import {EntryRequest} from 'sentry/types/event';
  7. import {defined} from 'sentry/utils';
  8. import RichHttpContentClippedBoxBodySection from './richHttpContentClippedBoxBodySection';
  9. import RichHttpContentClippedBoxKeyValueList from './richHttpContentClippedBoxKeyValueList';
  10. type Props = {
  11. data: EntryRequest['data'];
  12. };
  13. const RichHttpContent = ({data}: Props) => (
  14. <Fragment>
  15. {defined(data.query) && (
  16. <RichHttpContentClippedBoxKeyValueList
  17. title={t('Query String')}
  18. data={data.query}
  19. meta={getMeta(data, 'query')}
  20. isContextData
  21. />
  22. )}
  23. {defined(data.fragment) && (
  24. <ClippedBox title={t('Fragment')}>
  25. <ErrorBoundary mini>
  26. <pre>{data.fragment}</pre>
  27. </ErrorBoundary>
  28. </ClippedBox>
  29. )}
  30. {defined(data.data) && (
  31. <RichHttpContentClippedBoxBodySection
  32. data={data.data}
  33. meta={getMeta(data, 'data')}
  34. inferredContentType={data.inferredContentType}
  35. />
  36. )}
  37. {defined(data.cookies) && Object.keys(data.cookies).length > 0 && (
  38. <RichHttpContentClippedBoxKeyValueList
  39. defaultCollapsed
  40. title={t('Cookies')}
  41. data={data.cookies}
  42. meta={getMeta(data, 'cookies')}
  43. />
  44. )}
  45. {defined(data.headers) && (
  46. <RichHttpContentClippedBoxKeyValueList
  47. title={t('Headers')}
  48. data={data.headers}
  49. meta={getMeta(data, 'headers')}
  50. />
  51. )}
  52. {defined(data.env) && (
  53. <RichHttpContentClippedBoxKeyValueList
  54. defaultCollapsed
  55. title={t('Environment')}
  56. data={data.env}
  57. meta={getMeta(data, 'env')}
  58. />
  59. )}
  60. </Fragment>
  61. );
  62. export default RichHttpContent;