diff --git a/packages/insomnia/src/common/constants.ts b/packages/insomnia/src/common/constants.ts index 9b434b7e0c8..278485db9dd 100644 --- a/packages/insomnia/src/common/constants.ts +++ b/packages/insomnia/src/common/constants.ts @@ -59,7 +59,6 @@ export const getClientString = () => `${getAppEnvironment()}::${getAppPlatform() export const DEBOUNCE_MILLIS = 100; 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 * 24; diff --git a/packages/insomnia/src/common/settings.ts b/packages/insomnia/src/common/settings.ts index bb35abc3697..cb1650a3c1d 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 3c2c3cc2b21..bf39769b108 100644 --- a/packages/insomnia/src/models/settings.ts +++ b/packages/insomnia/src/models/settings.ts @@ -54,6 +54,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 850a8b84444..91bcb7c44ae 100644 --- a/packages/insomnia/src/ui/components/panes/response-pane.tsx +++ b/packages/insomnia/src/ui/components/panes/response-pane.tsx @@ -170,6 +170,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} /> +

Security

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