Skip to content

Commit fe0da03

Browse files
authored
Added responseHeaders to exposed data (ToolJet#2426)
1 parent 06c8fa6 commit fe0da03

2 files changed

Lines changed: 16 additions & 2 deletions

File tree

frontend/src/_helpers/appUtils.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -630,7 +630,11 @@ export function runQuery(_ref, queryId, queryName, confirmed = undefined, mode)
630630
isLoading: false,
631631
},
632632
query.kind === 'restapi'
633-
? { request: data.data.requestObject, response: data.data.responseObject }
633+
? {
634+
request: data.data.requestObject,
635+
response: data.data.responseObject,
636+
responseHeaders: data.data.responseHeaders,
637+
}
634638
: {}
635639
),
636640
},
@@ -711,7 +715,9 @@ export function runQuery(_ref, queryId, queryName, confirmed = undefined, mode)
711715
data: finalData,
712716
rawData,
713717
},
714-
query.kind === 'restapi' ? { request: data.request, response: data.response } : {}
718+
query.kind === 'restapi'
719+
? { request: data.request, response: data.response, responseHeaders: data.responseHeaders }
720+
: {}
715721
),
716722
},
717723
},

plugins/packages/restapi/lib/index.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ function isEmpty(value: number | null | undefined | string) {
1111
interface RestAPIResult extends QueryResult {
1212
request?: Array<object> | object;
1313
response?: Array<object> | object;
14+
responseHeaders?: Array<object> | object;
1415
}
1516

1617
export default class RestapiQueryService implements QueryService {
@@ -85,6 +86,7 @@ export default class RestapiQueryService implements QueryService {
8586
let result = {};
8687
let requestObject = {};
8788
let responseObject = {};
89+
let responseHeaders = {};
8890

8991
/* Prefixing the base url of datasouce if datasource exists */
9092
const url = hasDataSource ? `${sourceOptions.url}${queryOptions.url || ''}` : queryOptions.url;
@@ -103,17 +105,21 @@ export default class RestapiQueryService implements QueryService {
103105
},
104106
json,
105107
});
108+
106109
result = JSON.parse(response.body);
107110
requestObject = {
108111
requestUrl: response.request.requestUrl,
109112
method: response.request.options.method,
110113
headers: response.request.options.headers,
111114
params: urrl.parse(response.request.requestUrl, true).query,
112115
};
116+
113117
responseObject = {
114118
body: response.body,
115119
statusCode: response.statusCode,
116120
};
121+
122+
responseHeaders = response.headers;
117123
} catch (error) {
118124
console.log(error);
119125

@@ -128,6 +134,7 @@ export default class RestapiQueryService implements QueryService {
128134
statusCode: error.response.statusCode,
129135
responseBody: error.response.body,
130136
},
137+
responseHeaders: error.response.headers
131138
};
132139
}
133140
throw new QueryError('Query could not be completed', error.message, result);
@@ -138,6 +145,7 @@ export default class RestapiQueryService implements QueryService {
138145
data: result,
139146
request: requestObject,
140147
response: responseObject,
148+
responseHeaders,
141149
};
142150
}
143151

0 commit comments

Comments
 (0)