forked from extern/bruno
#884: Made sure graphql variables are only parsed after interpolation
This commit is contained in:
parent
8fb8eee5ef
commit
a3125605f3
@ -284,6 +284,12 @@ const registerNetworkIpc = (mainWindow) => {
|
||||
// interpolate variables inside request
|
||||
interpolateVars(request, envVars, collectionVariables, processEnvVars);
|
||||
|
||||
// if this is a graphql request, parse the variables, only after interpolation
|
||||
// https://github.com/usebruno/bruno/issues/884
|
||||
if (request.mode === 'graphql') {
|
||||
request.data.variables = JSON.parse(request.data.variables);
|
||||
}
|
||||
|
||||
// stringify the request url encoded params
|
||||
if (request.headers['content-type'] === 'application/x-www-form-urlencoded') {
|
||||
request.data = qs.stringify(request.data);
|
||||
|
@ -94,6 +94,7 @@ const prepareRequest = (request, collectionRoot) => {
|
||||
});
|
||||
|
||||
let axiosRequest = {
|
||||
mode: request.body.mode,
|
||||
method: request.method,
|
||||
url: request.url,
|
||||
headers: headers,
|
||||
@ -163,7 +164,8 @@ const prepareRequest = (request, collectionRoot) => {
|
||||
if (request.body.mode === 'graphql') {
|
||||
const graphqlQuery = {
|
||||
query: get(request, 'body.graphql.query'),
|
||||
variables: JSON.parse(decomment(get(request, 'body.graphql.variables') || '{}'))
|
||||
// https://github.com/usebruno/bruno/issues/884 - we must only parse the variables after the variable interpolation
|
||||
variables: decomment(get(request, 'body.graphql.variables') || '{}')
|
||||
};
|
||||
if (!contentTypeDefined) {
|
||||
axiosRequest.headers['content-type'] = 'application/json';
|
||||
|
Loading…
Reference in New Issue
Block a user