From 5889e114d4f5aa9759e3bafb65b761eb6a22ef22 Mon Sep 17 00:00:00 2001 From: ajubin Date: Wed, 25 Sep 2024 07:08:41 +0200 Subject: [PATCH] feat(code-export): add support to grapqhl (#1288) Co-authored-by: Anoop M D --- .../GenerateCodeItem/CodeView/index.js | 5 ++++- .../Collections/Collection/CollectionItem/index.js | 2 +- packages/bruno-app/src/utils/codegenerator/har.js | 14 +++++++++++--- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/index.js b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/index.js index 78977cabb8..9d56489078 100644 --- a/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/index.js +++ b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/CodeView/index.js @@ -32,7 +32,10 @@ const CodeView = ({ language, item }) => { let snippet = ''; try { - snippet = new HTTPSnippet(buildHarRequest({ request: item.request, headers })).convert(target, client); + snippet = new HTTPSnippet(buildHarRequest({ request: item.request, headers, type: item.type })).convert( + target, + client + ); } catch (e) { console.error(e); snippet = 'Error generating code snippet'; diff --git a/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/index.js b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/index.js index 6e5947e585..6efd00ceba 100644 --- a/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/index.js +++ b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/index.js @@ -349,7 +349,7 @@ const CollectionItem = ({ item, collection, searchText }) => { Run )} - {!isFolder && item.type === 'http-request' && ( + {!isFolder && (
{ diff --git a/packages/bruno-app/src/utils/codegenerator/har.js b/packages/bruno-app/src/utils/codegenerator/har.js index fa07385030..9bbd0eea98 100644 --- a/packages/bruno-app/src/utils/codegenerator/har.js +++ b/packages/bruno-app/src/utils/codegenerator/har.js @@ -31,6 +31,7 @@ const createHeaders = (request, headers) => { if (contentType !== '') { enabledHeaders.push({ name: 'content-type', value: contentType }); } + return enabledHeaders; }; @@ -43,7 +44,14 @@ const createQuery = (queryParams = []) => { })); }; -const createPostData = (body) => { +const createPostData = (body, type) => { + if (type === 'graphql-request') { + return { + mimeType: 'application/json', + text: JSON.stringify(body[body.mode]) + }; + } + const contentType = createContentType(body.mode); if (body.mode === 'formUrlEncoded' || body.mode === 'multipartForm') { return { @@ -64,7 +72,7 @@ const createPostData = (body) => { } }; -export const buildHarRequest = ({ request, headers }) => { +export const buildHarRequest = ({ request, headers, type }) => { return { method: request.method, url: encodeURI(request.url), @@ -72,7 +80,7 @@ export const buildHarRequest = ({ request, headers }) => { cookies: [], headers: createHeaders(request, headers), queryString: createQuery(request.params), - postData: createPostData(request.body), + postData: createPostData(request.body, type), headersSize: 0, bodySize: 0 };