From 0e801620dbace5f9951fc94a539d754110e5e86c Mon Sep 17 00:00:00 2001 From: Lucas Schoenfelder <les17@inf.ufpr.br> Date: Wed, 17 Feb 2021 11:01:14 -0300 Subject: [PATCH] changed get request to allow the return of both response body and headers --- .../HelperFunctions/getAxiosConfig.js | 47 ++++++++++++------- src/Pages/Search.js | 7 ++- 2 files changed, 37 insertions(+), 17 deletions(-) diff --git a/src/Components/HelperFunctions/getAxiosConfig.js b/src/Components/HelperFunctions/getAxiosConfig.js index e42656bb..f81cfbbd 100644 --- a/src/Components/HelperFunctions/getAxiosConfig.js +++ b/src/Components/HelperFunctions/getAxiosConfig.js @@ -78,24 +78,39 @@ function updateAccessToken (newAccessToken) { } } -export const getRequest = (url, onSuccess, onError) => { - fetch((`${apiUrl}${url}`), { +export async function getRequest (url, onSuccess, onError) { + let response = await fetch((`${apiUrl}${url}`), { headers : fetchHeaders() }) - .then(response => { - if (response.headers.has('access-token')) { - updateAccessToken(response.headers.get('access-token')) - } - return response.json().catch(err => { - return {}; - }) - }) - .then(data => { - onSuccess(data) - }) - .catch(error => { - onError(error) - }) + if (response.ok) { + if (response.headers.has('access-token')) { + updateAccessToken(response.headers.get('access-token')) + } + + let json = await response.json() + onSuccess(json, response.headers) + } + else { + onError(response.error) + } + // .then(response => { + // if (response.headers.has('access-token')) { + // updateAccessToken(response.headers.get('access-token')) + // } + // let json = await response.json() + // + // onSuccess(json) + // + // return response.json().catch(err => { + // return {}; + // }) + // }) + // .then(data => { + // onSuccess(data) + // }) + // .catch(error => { + // onError(error) + // }) } export const deleteRequest = (url, onSuccess, onError) => { diff --git a/src/Pages/Search.js b/src/Pages/Search.js index e5c874a3..ce755f66 100644 --- a/src/Pages/Search.js +++ b/src/Pages/Search.js @@ -87,7 +87,12 @@ export default function Search(props) { }, }); console.log(data); - setTotalResults(headers.get('X-Total-Count')); + if (headers.has('X-Total-Count')) { + setTotalResults(headers.get('X-Total-Count')); + } + else { + setTotalResults(data.length); + } setOptionResult(currOption); setIsLoading(false); setIsFiltering(false); -- GitLab