From 2363ffc4aba692a68fdd3c8e93498ae8b5bf4aca Mon Sep 17 00:00:00 2001 From: ThalisonCosta Date: Sun, 17 Sep 2023 15:17:15 -0400 Subject: [PATCH] feat: configure response threshold --- packages/insomnia/src/common/constants.ts | 1 - packages/insomnia/src/common/settings.ts | 1 + packages/insomnia/src/models/settings.ts | 1 + .../insomnia/src/ui/components/panes/response-pane.tsx | 1 + packages/insomnia/src/ui/components/settings/general.tsx | 6 ++++++ .../insomnia/src/ui/components/viewers/response-viewer.tsx | 7 ++++--- 6 files changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/insomnia/src/common/constants.ts b/packages/insomnia/src/common/constants.ts index 70c472181f7..ac6df22a4c2 100644 --- a/packages/insomnia/src/common/constants.ts +++ b/packages/insomnia/src/common/constants.ts @@ -75,7 +75,6 @@ export const REQUEST_TIME_TO_SHOW_COUNTER = 1; // Seconds */ export const REQUEST_SETUP_TEARDOWN_COMPENSATION = 200; export const STATUS_CODE_PLUGIN_ERROR = -222; -export const LARGE_RESPONSE_MB = 5; export const HUGE_RESPONSE_MB = 100; export const FLEXIBLE_URL_REGEX = /^(http|https):\/\/[\wàâäèéêëîïôóœùûüÿçÀÂÄÈÉÊËÎÏÔŒÙÛÜŸÇ\-_.]+[/\wàâäèéêëîïôóœùûüÿçÀÂÄÈÉÊËÎÏÔŒÙÛÜŸÇ.\-+=:\][@%^*&!#?;$~'(),]*/; export const CHECK_FOR_UPDATES_INTERVAL = 1000 * 60 * 60 * 3; // 3 hours diff --git a/packages/insomnia/src/common/settings.ts b/packages/insomnia/src/common/settings.ts index 460412427c1..af6a1673c1a 100644 --- a/packages/insomnia/src/common/settings.ts +++ b/packages/insomnia/src/common/settings.ts @@ -130,6 +130,7 @@ export interface Settings { maxHistoryResponses: number; maxRedirects: number; maxTimelineDataSizeKB: number; + maxResponseSizeKB: number; noProxy: string; nunjucksPowerUserMode: boolean; pluginConfig: PluginConfigMap; diff --git a/packages/insomnia/src/models/settings.ts b/packages/insomnia/src/models/settings.ts index f8024f88004..15a6ac263a5 100644 --- a/packages/insomnia/src/models/settings.ts +++ b/packages/insomnia/src/models/settings.ts @@ -53,6 +53,7 @@ export function init(): BaseSettings { maxHistoryResponses: 20, maxRedirects: 10, maxTimelineDataSizeKB: 10, + maxResponseSizeKB: 5_000, noProxy: '', nunjucksPowerUserMode: false, pluginConfig: {}, diff --git a/packages/insomnia/src/ui/components/panes/response-pane.tsx b/packages/insomnia/src/ui/components/panes/response-pane.tsx index deb1c641869..f792665fc76 100644 --- a/packages/insomnia/src/ui/components/panes/response-pane.tsx +++ b/packages/insomnia/src/ui/components/panes/response-pane.tsx @@ -162,6 +162,7 @@ export const ResponsePane: FC = ({ { help="Enter the maximum size in kibibytes to show on the response timeline. Decrease the number for less detailed responses." min={0} /> +
diff --git a/packages/insomnia/src/ui/components/viewers/response-viewer.tsx b/packages/insomnia/src/ui/components/viewers/response-viewer.tsx index 709514d8127..e850825156f 100644 --- a/packages/insomnia/src/ui/components/viewers/response-viewer.tsx +++ b/packages/insomnia/src/ui/components/viewers/response-viewer.tsx @@ -7,7 +7,6 @@ import React, { import { HUGE_RESPONSE_MB, - LARGE_RESPONSE_MB, PREVIEW_MODE_FRIENDLY, PREVIEW_MODE_RAW, } from '../../../common/constants'; @@ -38,6 +37,7 @@ export function xmlDecode(input: string) { } export interface ResponseViewerProps { bytes: number; + maxResponseSizeKB: number; contentType: string; disableHtmlPreviewJs: boolean; disablePreviewLinks: boolean; @@ -55,6 +55,7 @@ export interface ResponseViewerProps { export const ResponseViewer = ({ bytes, + maxResponseSizeKB, getBody, contentType: originalContentType, disableHtmlPreviewJs, @@ -69,7 +70,7 @@ export const ResponseViewer = ({ updateFilter, url, }: ResponseViewerProps) => { - const largeResponse = bytes > LARGE_RESPONSE_MB * 1024 * 1024; + const largeResponse = maxResponseSizeKB > 0 ? bytes > maxResponseSizeKB * 1024 : false; const hugeResponse = bytes > HUGE_RESPONSE_MB * 1024 * 1024; const [blockingBecauseTooLarge, setBlockingBecauseTooLarge] = useState(!alwaysShowLargeResponses && largeResponse); const [parseError, setParseError] = useState(''); @@ -191,7 +192,7 @@ export const ResponseViewer = ({ ) : (

- Response over {LARGE_RESPONSE_MB}MB hidden for performance reasons + Response over {maxResponseSizeKB}KB hidden for performance reasons