From ff059f2b80f045be002fd548c0a0cf7924a29c8f Mon Sep 17 00:00:00 2001 From: reggermont Date: Tue, 9 Jan 2024 18:44:24 +0100 Subject: [PATCH] feat(#1352): add collection headers to introspection query --- .../prepare-gql-introspection-request.js | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/packages/bruno-electron/src/ipc/network/prepare-gql-introspection-request.js b/packages/bruno-electron/src/ipc/network/prepare-gql-introspection-request.js index a448d91067..0dc8df3a0d 100644 --- a/packages/bruno-electron/src/ipc/network/prepare-gql-introspection-request.js +++ b/packages/bruno-electron/src/ipc/network/prepare-gql-introspection-request.js @@ -1,4 +1,5 @@ const Handlebars = require('handlebars'); +const { get, each } = require('lodash'); const { getIntrospectionQuery } = require('graphql'); const { setAuthHeaders } = require('./prepare-request'); @@ -15,7 +16,7 @@ const prepareGqlIntrospectionRequest = (endpoint, envVars, request, collectionRo method: 'POST', url: endpoint, headers: { - ...mapHeaders(request.headers), + ...mapHeaders(request.headers, get(collectionRoot, 'request.headers', [])), Accept: 'application/json', 'Content-Type': 'application/json' }, @@ -25,10 +26,25 @@ const prepareGqlIntrospectionRequest = (endpoint, envVars, request, collectionRo return setAuthHeaders(axiosRequest, request, collectionRoot); }; -const mapHeaders = (headers) => { - const entries = headers.filter((header) => header.enabled).map(({ name, value }) => [name, value]); +const mapHeaders = (requestHeaders, collectionHeaders) => { + const headers = {}; - return Object.fromEntries(entries); + console.log(JSON.stringify(collectionHeaders, null, 4)); + + each(requestHeaders, (h) => { + if (h.enabled) { + headers[h.name] = h.value; + } + }); + + // collection headers + each(collectionHeaders, (h) => { + if (h.enabled) { + headers[h.name] = h.value; + } + }); + + return headers; }; module.exports = prepareGqlIntrospectionRequest;