CEC-1691 Handle 503 errors (#156)
This commit is contained in:
@@ -1,49 +1,58 @@
|
||||
import {
|
||||
getAuthHeaderOptions,
|
||||
fetchRespHandler,
|
||||
addQueryParams,
|
||||
errorHandler,
|
||||
getAuthHeaderOptions,
|
||||
fetchRespHandler,
|
||||
addQueryParams,
|
||||
} from "../utils/http";
|
||||
|
||||
const API_ENDPOINT = process.env.REACT_APP_UPLOAD_SERVICE_URL;
|
||||
|
||||
const canFiltersAPI = {
|
||||
addFilter: async (vin, filter, token) =>
|
||||
fetch(`${API_ENDPOINT}/vehicle/${vin}/filter`, {
|
||||
method: "POST",
|
||||
headers: Object.assign(
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
body: JSON.stringify(filter)
|
||||
}).then(fetchRespHandler),
|
||||
addFilter: async (vin, filter, token) =>
|
||||
fetch(`${API_ENDPOINT}/vehicle/${vin}/filter`, {
|
||||
method: "POST",
|
||||
headers: Object.assign(
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
body: JSON.stringify(filter),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
getFilters: async (vin, search, token) =>
|
||||
fetch(addQueryParams(`${API_ENDPOINT}/vehicle/${vin}/filters`, search), {
|
||||
method: "GET",
|
||||
headers: Object.assign(
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
}).then(fetchRespHandler),
|
||||
getFilters: async (vin, search, token) =>
|
||||
fetch(addQueryParams(`${API_ENDPOINT}/vehicle/${vin}/filters`, search), {
|
||||
method: "GET",
|
||||
headers: Object.assign(
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
updateFilter: async (vin, canID, filter, token) =>
|
||||
fetch(`${API_ENDPOINT}/vehicle/${vin}/filter/${canID}`, {
|
||||
method: "PUT",
|
||||
headers: Object.assign(
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
body: JSON.stringify(filter)
|
||||
}).then(fetchRespHandler),
|
||||
updateFilter: async (vin, canID, filter, token) =>
|
||||
fetch(`${API_ENDPOINT}/vehicle/${vin}/filter/${canID}`, {
|
||||
method: "PUT",
|
||||
headers: Object.assign(
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
body: JSON.stringify(filter),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
deleteFilter: async (vin, canID, token) =>
|
||||
fetch(`${API_ENDPOINT}/vehicle/${vin}/filter/${canID}`, {
|
||||
method: "DELETE",
|
||||
headers: Object.assign(
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
)
|
||||
}).then(fetchRespHandler),
|
||||
deleteFilter: async (vin, canID, token) =>
|
||||
fetch(`${API_ENDPOINT}/vehicle/${vin}/filter/${canID}`, {
|
||||
method: "DELETE",
|
||||
headers: Object.assign(
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
};
|
||||
|
||||
export default canFiltersAPI;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { fetchRespHandler } from "../utils/http";
|
||||
import { errorHandler, fetchRespHandler } from "../utils/http";
|
||||
|
||||
const AUTH_URL = process.env.REACT_APP_AUTH_SERVICE_URL;
|
||||
const CALLBACK_URL = process.env.REACT_APP_AUTH_CALLBACK_URL;
|
||||
@@ -16,7 +16,9 @@ const auth = {
|
||||
code,
|
||||
redirect: CALLBACK_URL,
|
||||
}),
|
||||
}).then(fetchRespHandler),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
verify: (idToken) =>
|
||||
fetch(`${AUTH_URL}/verify`, {
|
||||
@@ -25,7 +27,9 @@ const auth = {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
body: JSON.stringify({ token: idToken }),
|
||||
}).then(fetchRespHandler),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
refresh: (refreshToken) =>
|
||||
fetch(`${AUTH_URL}/refresh`, {
|
||||
@@ -34,7 +38,9 @@ const auth = {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
body: JSON.stringify({ refresh_token: refreshToken }),
|
||||
}).then(fetchRespHandler),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
};
|
||||
|
||||
export default auth;
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
import { getAuthHeaderOptions, fetchRespHandler } from "../utils/http";
|
||||
import {
|
||||
errorHandler,
|
||||
getAuthHeaderOptions,
|
||||
fetchRespHandler,
|
||||
} from "../utils/http";
|
||||
|
||||
const API_ENDPOINT = process.env.REACT_APP_CERT_SERVICE_URL;
|
||||
|
||||
@@ -11,7 +15,9 @@ const certificatesAPI = {
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
body: JSON.stringify(data),
|
||||
}).then(fetchRespHandler),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
};
|
||||
|
||||
export default certificatesAPI;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import {
|
||||
errorHandler,
|
||||
getAuthHeaderOptions,
|
||||
fetchRespHandler,
|
||||
addQueryParams,
|
||||
@@ -14,8 +15,10 @@ const fleetsAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
body: JSON.stringify(fleet)
|
||||
}).then(fetchRespHandler),
|
||||
body: JSON.stringify(fleet),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
getFleet: async (name, token) =>
|
||||
fetch(`${API_ENDPOINT}/fleet/${name}`, {
|
||||
@@ -23,8 +26,10 @@ const fleetsAPI = {
|
||||
headers: Object.assign(
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
)
|
||||
}).then(fetchRespHandler),
|
||||
),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
getFleets: async (search, token) =>
|
||||
fetch(addQueryParams(`${API_ENDPOINT}/fleets`, search), {
|
||||
@@ -33,7 +38,9 @@ const fleetsAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
}).then(fetchRespHandler),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
updateFleet: async (name, fleet, token) =>
|
||||
fetch(`${API_ENDPOINT}/fleet/${name}`, {
|
||||
@@ -42,8 +49,10 @@ const fleetsAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
body: JSON.stringify(fleet)
|
||||
}).then(fetchRespHandler),
|
||||
body: JSON.stringify(fleet),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
deleteFleet: async (name, token) =>
|
||||
fetch(`${API_ENDPOINT}/fleet/${name}`, {
|
||||
@@ -51,8 +60,10 @@ const fleetsAPI = {
|
||||
headers: Object.assign(
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
)
|
||||
}).then(fetchRespHandler),
|
||||
),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
getFleetVehicles: async (name, search, token) =>
|
||||
fetch(addQueryParams(`${API_ENDPOINT}/fleet/${name}/vehicles`, search), {
|
||||
@@ -60,8 +71,10 @@ const fleetsAPI = {
|
||||
headers: Object.assign(
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
)
|
||||
}).then(fetchRespHandler),
|
||||
),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
addFleetVehicle: async (name, vehicle, token) =>
|
||||
fetch(`${API_ENDPOINT}/fleet/${name}/vehicle`, {
|
||||
@@ -70,8 +83,10 @@ const fleetsAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
body: JSON.stringify(vehicle)
|
||||
}).then(fetchRespHandler),
|
||||
body: JSON.stringify(vehicle),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
deleteFleetVehicle: async (name, vehicle, token) =>
|
||||
fetch(`${API_ENDPOINT}/fleet/${name}/vehicle/${vehicle.vin}`, {
|
||||
@@ -79,8 +94,10 @@ const fleetsAPI = {
|
||||
headers: Object.assign(
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
)
|
||||
}).then(fetchRespHandler),
|
||||
),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
getFleetCANFilters: async (name, search, token) =>
|
||||
fetch(addQueryParams(`${API_ENDPOINT}/fleet/${name}/filters`, search), {
|
||||
@@ -88,8 +105,10 @@ const fleetsAPI = {
|
||||
headers: Object.assign(
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
)
|
||||
}).then(fetchRespHandler),
|
||||
),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
addFleetCANFilter: async (name, filter, token) =>
|
||||
fetch(`${API_ENDPOINT}/fleet/${name}/filter`, {
|
||||
@@ -98,8 +117,10 @@ const fleetsAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
body: JSON.stringify(filter)
|
||||
}).then(fetchRespHandler),
|
||||
body: JSON.stringify(filter),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
updateFleetCANFilter: async (name, can_id, filter, token) =>
|
||||
fetch(`${API_ENDPOINT}/fleet/${name}/filter/${can_id}`, {
|
||||
@@ -108,8 +129,10 @@ const fleetsAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
body: JSON.stringify(filter)
|
||||
}).then(fetchRespHandler),
|
||||
body: JSON.stringify(filter),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
deleteFleetCANFilter: async (name, can_id, token) =>
|
||||
fetch(`${API_ENDPOINT}/fleet/${name}/filter/${can_id}`, {
|
||||
@@ -117,8 +140,10 @@ const fleetsAPI = {
|
||||
headers: Object.assign(
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
)
|
||||
}).then(fetchRespHandler),
|
||||
),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
};
|
||||
|
||||
export default fleetsAPI;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import {
|
||||
errorHandler,
|
||||
getAuthHeaderOptions,
|
||||
fetchRespHandler,
|
||||
addQueryParams,
|
||||
@@ -14,7 +15,9 @@ const manifestsAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
}).then(fetchRespHandler),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
getManifest: async (id, token) => {
|
||||
const u = addQueryParams(`${API_ENDPOINT}/manifest`, { id });
|
||||
@@ -24,7 +27,9 @@ const manifestsAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
}).then(fetchRespHandler);
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler);
|
||||
},
|
||||
|
||||
getManifests: async (search, token) => {
|
||||
@@ -35,7 +40,9 @@ const manifestsAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
}).then(fetchRespHandler);
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler);
|
||||
},
|
||||
|
||||
createManifest: async (data, token) =>
|
||||
@@ -46,7 +53,9 @@ const manifestsAPI = {
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
body: JSON.stringify(data),
|
||||
}).then(fetchRespHandler),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
createManifestECU: async (data, token) =>
|
||||
fetch(`${API_ENDPOINT}/manifestecu`, {
|
||||
@@ -56,7 +65,9 @@ const manifestsAPI = {
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
body: JSON.stringify(data),
|
||||
}).then(fetchRespHandler),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
};
|
||||
|
||||
export default manifestsAPI;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import {
|
||||
errorHandler,
|
||||
getAuthHeaderOptions,
|
||||
fetchRespHandler,
|
||||
addQueryParams,
|
||||
@@ -15,7 +16,9 @@ const updatesAPI = {
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
body: JSON.stringify(data),
|
||||
}).then(fetchRespHandler),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
getCarUpdateLog: async (query, token) => {
|
||||
const u = addQueryParams(`${API_ENDPOINT}/carupdateslog`, query);
|
||||
@@ -25,7 +28,9 @@ const updatesAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
}).then(fetchRespHandler);
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler);
|
||||
},
|
||||
|
||||
getCarUpdateProgress: async (carupdateids, token) => {
|
||||
@@ -36,7 +41,9 @@ const updatesAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
}).then(fetchRespHandler);
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler);
|
||||
},
|
||||
|
||||
getCarUpdates: async (search, token) => {
|
||||
@@ -47,7 +54,9 @@ const updatesAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
}).then(fetchRespHandler);
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler);
|
||||
},
|
||||
|
||||
getVINUpdates: async (vin, token) => {
|
||||
@@ -58,7 +67,9 @@ const updatesAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
}).then(fetchRespHandler);
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler);
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import {
|
||||
errorHandler,
|
||||
getAuthHeaderOptions,
|
||||
fetchRespHandler,
|
||||
addQueryParams,
|
||||
@@ -15,7 +16,9 @@ const vehiclesAPI = {
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
body: JSON.stringify(vehicle),
|
||||
}).then(fetchRespHandler),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
deleteVehicle: async (vin, token) =>
|
||||
fetch(`${API_ENDPOINT}/vehicle/${vin}`, {
|
||||
@@ -24,7 +27,9 @@ const vehiclesAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
}).then(fetchRespHandler),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
getConnections: async (vins, token) => {
|
||||
const u = `${API_ENDPOINT}/carsconnected?vins=${vins.join(",")}`;
|
||||
@@ -34,7 +39,9 @@ const vehiclesAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
}).then(fetchRespHandler);
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler);
|
||||
},
|
||||
|
||||
getECUs: async (search, token) => {
|
||||
@@ -45,7 +52,9 @@ const vehiclesAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
}).then(fetchRespHandler);
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler);
|
||||
},
|
||||
|
||||
getModels: async (token) =>
|
||||
@@ -55,7 +64,9 @@ const vehiclesAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
}).then(fetchRespHandler),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
getLocations: async (token) =>
|
||||
fetch(`${API_ENDPOINT}/carslocations`, {
|
||||
@@ -64,7 +75,9 @@ const vehiclesAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
}).then(fetchRespHandler),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
getState: async (token, vin) =>
|
||||
fetch(`${API_ENDPOINT}/carstate?vin=${vin}`, {
|
||||
@@ -73,7 +86,9 @@ const vehiclesAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
}).then(fetchRespHandler),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
getVehicle: async (vin, token) =>
|
||||
fetch(`${API_ENDPOINT}/vehicle/${vin}`, {
|
||||
@@ -82,7 +97,9 @@ const vehiclesAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
}).then(fetchRespHandler),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
getVehicles: async (search, token) => {
|
||||
const u = addQueryParams(`${API_ENDPOINT}/vehicles`, search);
|
||||
@@ -92,7 +109,9 @@ const vehiclesAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
}).then(fetchRespHandler);
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler);
|
||||
},
|
||||
|
||||
getYears: async (token) =>
|
||||
@@ -102,7 +121,9 @@ const vehiclesAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
}).then(fetchRespHandler),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
sendCommand: async (vins, command, parameters, token) =>
|
||||
fetch(`${API_ENDPOINT}/vehiclecommand`, {
|
||||
@@ -116,7 +137,9 @@ const vehiclesAPI = {
|
||||
command,
|
||||
parameters,
|
||||
}),
|
||||
}).then(fetchRespHandler),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
|
||||
updateVehicle: async (vin, vehicle, token) =>
|
||||
fetch(`${API_ENDPOINT}/vehicle/${vin}`, {
|
||||
@@ -125,8 +148,10 @@ const vehiclesAPI = {
|
||||
{ "Content-Type": "application/json" },
|
||||
getAuthHeaderOptions(token)
|
||||
),
|
||||
body: JSON.stringify(vehicle)
|
||||
}).then(fetchRespHandler),
|
||||
body: JSON.stringify(vehicle),
|
||||
})
|
||||
.then(fetchRespHandler)
|
||||
.catch(errorHandler),
|
||||
};
|
||||
|
||||
export default vehiclesAPI;
|
||||
|
||||
@@ -1,13 +1,28 @@
|
||||
import { logger } from "../services/monitoring";
|
||||
|
||||
export const getAuthHeaderOptions = (token) => ({
|
||||
"Authorization": `Bearer ${token}`,
|
||||
});
|
||||
export const addQueryParams = (url, params) => {
|
||||
if (!params) return url;
|
||||
|
||||
const u = new URL(url);
|
||||
|
||||
Object.keys(params).forEach((key) => u.searchParams.append(key, params[key]));
|
||||
|
||||
return u.toString();
|
||||
};
|
||||
|
||||
export const errorHandler = (e) => {
|
||||
logger.error(e.stack);
|
||||
return {
|
||||
error: e.name,
|
||||
message: e.message,
|
||||
};
|
||||
};
|
||||
|
||||
export const fetchRespHandler = (response) => {
|
||||
if (response.ok) return response.json();
|
||||
|
||||
return response.text()
|
||||
return response
|
||||
.text()
|
||||
.then((text) => {
|
||||
if (response.status >= 500) logger.error(text);
|
||||
return JSON.parse(text);
|
||||
@@ -18,15 +33,9 @@ export const fetchRespHandler = (response) => {
|
||||
error: response.statusText,
|
||||
message: `${response.status} ${response.statusText}`,
|
||||
};
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
export const addQueryParams = (url, params) => {
|
||||
if (!params) return url;
|
||||
|
||||
const u = new URL(url);
|
||||
|
||||
Object.keys(params).forEach(key => u.searchParams.append(key, params[key]))
|
||||
|
||||
return u.toString();
|
||||
}
|
||||
export const getAuthHeaderOptions = (token) => ({
|
||||
Authorization: `Bearer ${token}`,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user