Skip to content

Commit 2cfd529

Browse files
jackkavstefancruz
authored andcommitted
remove read only pairs from all kvp editors (Kong#7351)
* remove read only pairs from all kvp edits * move const
1 parent dc938d2 commit 2cfd529

2 files changed

Lines changed: 16 additions & 18 deletions

File tree

packages/insomnia/src/ui/components/editors/request-headers-editor.tsx

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React, { FC, useCallback } from 'react';
22
import { useParams, useRouteLoaderData } from 'react-router-dom';
33

44
import { getCommonHeaderNames, getCommonHeaderValues } from '../../../common/common-headers';
5+
import { generateId } from '../../../common/misc';
56
import type { RequestHeader } from '../../../models/request';
67
import { isWebSocketRequest } from '../../../models/websocket-request';
78
import { useRequestPatcher } from '../../hooks/use-request';
@@ -13,7 +14,17 @@ interface Props {
1314
bulk: boolean;
1415
isDisabled?: boolean;
1516
}
16-
17+
const readOnlyWebsocketPairs = [
18+
{ name: 'Connection', value: 'Upgrade' },
19+
{ name: 'Upgrade', value: 'websocket' },
20+
{ name: 'Sec-WebSocket-Key', value: '<calculated at runtime>' },
21+
{ name: 'Sec-WebSocket-Version', value: '13' },
22+
{ name: 'Sec-WebSocket-Extensions', value: 'permessage-deflate; client_max_window_bits' },
23+
].map(pair => ({ ...pair, id: generateId('pair') }));
24+
const readOnlyHttpPairs = [
25+
{ name: 'Accept', value: '*/*' },
26+
{ name: 'Host', value: '<calculated at runtime>' },
27+
].map(pair => ({ ...pair, id: generateId('pair') }));
1728
export const RequestHeadersEditor: FC<Props> = ({
1829
bulk,
1930
isDisabled,
@@ -87,7 +98,7 @@ export const RequestHeadersEditor: FC<Props> = ({
8798
handleGetAutocompleteValueConstants={getCommonHeaderValues}
8899
onChange={onChangeHeaders}
89100
isDisabled={isDisabled}
90-
isWebSocketRequest={isWebSocketRequest(activeRequest)}
101+
readOnlyPairs={isWebSocketRequest(activeRequest) ? readOnlyWebsocketPairs : readOnlyHttpPairs}
91102
/>
92103
);
93104
};

packages/insomnia/src/ui/components/key-value-editor/key-value-editor.tsx

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ interface Props {
3131
handleGetAutocompleteNameConstants?: AutocompleteHandler;
3232
handleGetAutocompleteValueConstants?: AutocompleteHandler;
3333
isDisabled?: boolean;
34-
isWebSocketRequest?: boolean;
3534
namePlaceholder?: string;
3635
onChange: (c: {
3736
name: string;
@@ -42,6 +41,7 @@ interface Props {
4241
pairs: Pair[];
4342
valuePlaceholder?: string;
4443
onBlur?: (e: FocusEvent) => void;
44+
readOnlyPairs?: Pair[];
4545
}
4646

4747
export const KeyValueEditor: FC<Props> = ({
@@ -52,30 +52,17 @@ export const KeyValueEditor: FC<Props> = ({
5252
handleGetAutocompleteNameConstants,
5353
handleGetAutocompleteValueConstants,
5454
isDisabled,
55-
isWebSocketRequest,
5655
namePlaceholder,
5756
onChange,
5857
pairs,
5958
valuePlaceholder,
6059
onBlur,
60+
readOnlyPairs,
6161
}) => {
6262
// We should make the pair.id property required and pass them in from the parent
6363
// smelly
6464
const pairsWithIds = pairs.map(pair => ({ ...pair, id: pair.id || generateId('pair') }));
6565

66-
const readOnlyWebsocketPairs = [
67-
{ name: 'Connection', value: 'Upgrade' },
68-
{ name: 'Upgrade', value: 'websocket' },
69-
{ name: 'Sec-WebSocket-Key', value: '<calculated at runtime>' },
70-
{ name: 'Sec-WebSocket-Version', value: '13' },
71-
{ name: 'Sec-WebSocket-Extensions', value: 'permessage-deflate; client_max_window_bits' },
72-
].map(pair => ({ ...pair, id: generateId('pair') }));
73-
74-
const readOnlyHttpPairs = [
75-
{ name: 'Accept', value: '*/*' },
76-
{ name: 'Host', value: '<calculated at runtime>' },
77-
].map(pair => ({ ...pair, id: generateId('pair') }));
78-
const readOnlyPairs = isWebSocketRequest ? readOnlyWebsocketPairs : readOnlyHttpPairs;
7966
const [showDescription, setShowDescription] = React.useState(false);
8067

8168
return (
@@ -129,7 +116,7 @@ export const KeyValueEditor: FC<Props> = ({
129116
addPair={() => { }}
130117
/>
131118
)}
132-
{readOnlyPairs.map(pair => (
119+
{(readOnlyPairs || []).map(pair => (
133120
<li key={pair.id} className="key-value-editor__row-wrapper">
134121
<div className="key-value-editor__row">
135122
<div className="form-control form-control--underlined form-control--wide">

0 commit comments

Comments
 (0)