Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | 2x 2x 1x 1x 2x 2x | export function buildURL (baseUrl, endpointUrl, params = null) {
let queryString = '';
if (params) {
const searchParams = new URLSearchParams(params);
queryString = '?' + searchParams.toString();
}
const requestUrl = `${baseUrl}${endpointUrl}${queryString}`;
return { requestUrl, queryString };
}
export async function apiRequest (url, requestConfig) {
const apiResponse = {
ok: null,
status: null,
statusText: null,
data: {}
};
try {
const response = await fetch(url, requestConfig);
let responseBody = {};
const headers = response.headers;
const hasBody = headers && headers.get('content-type')?.indexOf('application/json') > -1 && parseInt(headers.get('content-length')) > 0;
if (hasBody) {
responseBody = await response.json();
}
return Object.assign(apiResponse, {
ok: response.ok,
status: response.status,
statusText: response.statusText,
data: responseBody,
url
});
} catch (error) {
console.error('apiRequest error: ', error);
return Object.assign(apiResponse, {
ok: false,
status: 500,
statusText: 'ERROR',
data: { message: 'Network error', error },
url
});
}
}
|