From 0d204694a66c5630bd46b86e9113f92e7bc9a484 Mon Sep 17 00:00:00 2001
From: Guillaume Leon <97881811+GuillaumeOnepilot@users.noreply.github.com>
Date: Thu, 4 Jul 2024 07:58:46 +0200
Subject: [PATCH] Add autocompletion for headers value (#1142)
* feature: add autocompletion for headers value
* chore: rename file to autocompleteConstants and move it to codemirror utils
---
.../CollectionSettings/Headers/index.js | 2 +
.../RequestPane/RequestHeaders/index.js | 2 +
.../utils/codemirror/autocompleteConstants.js | 56 +++++++++++++++++++
3 files changed, 60 insertions(+)
create mode 100644 packages/bruno-app/src/utils/codemirror/autocompleteConstants.js
diff --git a/packages/bruno-app/src/components/CollectionSettings/Headers/index.js b/packages/bruno-app/src/components/CollectionSettings/Headers/index.js
index 718a38bd5..9ae6e1e07 100644
--- a/packages/bruno-app/src/components/CollectionSettings/Headers/index.js
+++ b/packages/bruno-app/src/components/CollectionSettings/Headers/index.js
@@ -13,6 +13,7 @@ import { saveCollectionRoot } from 'providers/ReduxStore/slices/collections/acti
import SingleLineEditor from 'components/SingleLineEditor';
import StyledWrapper from './StyledWrapper';
import { headers as StandardHTTPHeaders } from 'know-your-http-well';
+import { MimeTypes } from 'utils/codemirror/autocompleteConstants';
const headerAutoCompleteList = StandardHTTPHeaders.map((e) => e.header);
const Headers = ({ collection }) => {
@@ -117,6 +118,7 @@ const Headers = ({ collection }) => {
)
}
collection={collection}
+ autocomplete={MimeTypes}
/>
diff --git a/packages/bruno-app/src/components/RequestPane/RequestHeaders/index.js b/packages/bruno-app/src/components/RequestPane/RequestHeaders/index.js
index 445505c07..94a8a53f5 100644
--- a/packages/bruno-app/src/components/RequestPane/RequestHeaders/index.js
+++ b/packages/bruno-app/src/components/RequestPane/RequestHeaders/index.js
@@ -9,6 +9,7 @@ import { sendRequest, saveRequest } from 'providers/ReduxStore/slices/collection
import SingleLineEditor from 'components/SingleLineEditor';
import StyledWrapper from './StyledWrapper';
import { headers as StandardHTTPHeaders } from 'know-your-http-well';
+import { MimeTypes } from 'utils/codemirror/autocompleteConstants';
const headerAutoCompleteList = StandardHTTPHeaders.map((e) => e.header);
const RequestHeaders = ({ item, collection }) => {
@@ -115,6 +116,7 @@ const RequestHeaders = ({ item, collection }) => {
)
}
onRun={handleRun}
+ autocomplete={MimeTypes}
allowNewlines={true}
collection={collection}
/>
diff --git a/packages/bruno-app/src/utils/codemirror/autocompleteConstants.js b/packages/bruno-app/src/utils/codemirror/autocompleteConstants.js
new file mode 100644
index 000000000..f0c8a9aa2
--- /dev/null
+++ b/packages/bruno-app/src/utils/codemirror/autocompleteConstants.js
@@ -0,0 +1,56 @@
+export const MimeTypes = [
+ 'application/atom+xml',
+ 'application/ecmascript',
+ 'application/json',
+ 'application/vnd.api+json',
+ 'application/javascript',
+ 'application/octet-stream',
+ 'application/ogg',
+ 'application/pdf',
+ 'application/postscript',
+ 'application/rdf+xml',
+ 'application/rss+xml',
+ 'application/soap+xml',
+ 'application/font-woff',
+ 'application/x-yaml',
+ 'application/xhtml+xml',
+ 'application/xml',
+ 'application/xml-dtd',
+ 'application/xop+xml',
+ 'application/zip',
+ 'application/gzip',
+ 'application/graphql',
+ 'application/x-www-form-urlencoded',
+ 'audio/basic',
+ 'audio/L24',
+ 'audio/mp4',
+ 'audio/mpeg',
+ 'audio/ogg',
+ 'audio/vorbis',
+ 'audio/vnd.rn-realaudio',
+ 'audio/vnd.wave',
+ 'audio/webm',
+ 'image/gif',
+ 'image/jpeg',
+ 'image/pjpeg',
+ 'image/png',
+ 'image/svg+xml',
+ 'image/tiff',
+ 'message/http',
+ 'message/imdn+xml',
+ 'message/partial',
+ 'message/rfc822',
+ 'multipart/mixed',
+ 'multipart/alternative',
+ 'multipart/related',
+ 'multipart/form-data',
+ 'multipart/signed',
+ 'multipart/encrypted',
+ 'text/cmd',
+ 'text/css',
+ 'text/csv',
+ 'text/html',
+ 'text/plain',
+ 'text/vcard',
+ 'text/xml'
+];
|