Skip to content

Commit 0f3ca31

Browse files
authored
Merge branch 'dev' into fix/try-it
2 parents d79d606 + 9735317 commit 0f3ca31

File tree

2 files changed

+28
-17
lines changed

2 files changed

+28
-17
lines changed

src/app/services/actions/query-action-creator-util.ts

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -209,25 +209,33 @@ async function tryParseJson(textValue: string) {
209209
}
210210
}
211211

212-
export const parseResponse = (response: ResponseBody): Promise<ResponseBody> => {
213-
if (response instanceof Response && response.headers) {
214-
const headers = getHeaders(response)
215-
const contentType = getContentType(headers);
212+
export const parseResponse = async (response: ResponseBody): Promise<ResponseBody> => {
213+
if (!(response instanceof Response)) {return response;}
214+
215+
const headers = getHeaders(response);
216+
const contentType = getContentType(headers);
217+
218+
try {
216219
switch (contentType) {
217-
case 'application/json':
218-
return response.text().then(tryParseJson);
220+
case 'application/json': {
221+
const text = await response.text();
222+
return tryParseJson(text);
223+
}
219224
case 'application/xml':
220225
case 'text/html':
221226
case 'text/csv':
222227
case 'text/plain':
223-
return response.text();
224-
228+
return await response.text();
225229
default:
226-
return Promise.resolve(response);
230+
if (response.status === 204) {
231+
return '';
232+
}
233+
return await response.text();
227234
}
235+
} catch {
236+
return '';
228237
}
229-
return Promise.resolve(response);
230-
}
238+
};
231239

232240
/**
233241
* Check if query attempts to download from OneDrive's /content API or reporting API

src/app/views/query-runner/QueryRunner.tsx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,12 @@ const QueryRunner = (props: IQueryRunnerProps) => {
2525

2626
useEffect(() => {
2727
if (sampleQuery.selectedVerb !== 'GET') {
28-
const query = { ...sampleQuery };
29-
query.sampleBody = sampleBody;
30-
dispatch(setSampleQuery(query));
28+
dispatch(setSampleQuery({
29+
...sampleQuery,
30+
sampleBody
31+
}));
3132
}
32-
}, [sampleBody])
33+
}, [sampleBody, sampleQuery.selectedVerb])
3334

3435
const handleOnRunQuery = (query?: IQuery) => {
3536
let sample = { ...sampleQuery };
@@ -80,8 +81,10 @@ const QueryRunner = (props: IQueryRunnerProps) => {
8081
const query = { ...sampleQuery };
8182

8283
if (Object.values(httpMethods).includes(value)) {
83-
query.selectedVerb = value;
84-
dispatch(setSampleQuery(query));
84+
dispatch(setSampleQuery({
85+
...query,
86+
selectedVerb: value
87+
}));
8588

8689
props.onSelectVerb(value);
8790
}

0 commit comments

Comments
 (0)