feat(#1352): add collection headers to introspection query (#1353)

Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
This commit is contained in:
Romain Eggermont
2024-01-29 15:53:32 +01:00
committed by GitHub
parent abeccbb182
commit 969c44023f

View File

@@ -1,3 +1,4 @@
const { get, each } = require('lodash');
const { interpolate } = require('@usebruno/common');
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,23 @@ 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);
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;