backend-integration-fetch
Version:
The Backend-Api-Integration package simplifies interaction with the backend API by providing a set of CRUD methods for common endpoints. It abstracts away the complexity of making HTTP requests and handling responses, allowing developers to focus on appli
84 lines (68 loc) • 1.97 kB
JavaScript
export async function fetchHelper(
endpoint,
method,
accessToken = null,
khID = null,
body = null,
options = null,
SERVER_URL
) {
try {
var url = SERVER_URL + endpoint;
if (options) {
const queryParams = new URLSearchParams(options);
url = url + `?${queryParams.toString()}`;
}
var requestObject = {
method: method,
headers: {
'Content-Type': 'application/json',
}
}
if (accessToken) {
requestObject.headers.Authorization = 'Bearer ' + accessToken;
}
if (khID) {
requestObject.headers.khID = khID;
}
if (body) {
requestObject.body = JSON.stringify(body);
}
const response = await fetch(url, requestObject);
const responseJson = await response.json();
if (response.ok) return responseJson;
var errorMessage =
"Server error:" +
response.status +
" Message: " +
responseJson.message;
return Promise.reject(errorMessage);
}
catch (e) {
return Promise.reject(e.message);
}
}
export async function UploadFile(method, body, headers, SERVER_URL) {
try {
var url = SERVER_URL;
var requestObject = {
method: method,
headers: headers,
};
if (body) {
requestObject.body = body;
}
const response = await fetch(url, requestObject);
if (response.ok) {
return response;
}
var errorMessage =
"Server error:" +
response.status +
" Message: " +
response.statusText;
return Promise.reject(errorMessage);
} catch (e) {
return Promise.reject(e.message);
}
}