1
0
forked from PGL/Clyde

Document rest

This commit is contained in:
Debucquoy Anthony 2024-03-05 11:48:04 +01:00
parent 8c2397c4cf
commit 09d5e1c293
Signed by: tonitch
GPG Key ID: A78D6421F083D42E

View File

@ -8,17 +8,27 @@ export async function restGet(endPoint) {
export async function restPost(endPoint, data) { export async function restPost(endPoint, data) {
return await _rest(endPoint, {method: "POST", body: data}); return await _rest(endPoint, {method: "POST", body: data});
} }
export async function restDelete(endPoint, data) { export async function restDelete(endPoint, data) {
return await _rest(endPoint, {method: "POST", body: data}); return await _rest(endPoint, {method: "DELETE", body: data});
} }
/**
* backbone for the request made by the frontend
*
* specification
* - If the user has "session_token" cookie set, it will use it in the authorization field of the http request
* - The result will be returned as a json to access fields easily ( the backend should send json response )
*
* @Example _rest("/ping", {user: data}) -> {id:0, txt:"pong"}
*/
async function _rest(endPoint, config){ async function _rest(endPoint, config){
endPoint.at(0) != "/" ? console.error("Carefull, you certainly should put a / at the begenning of your endPoint ") : true; endPoint.at(0) != "/" ? console.error("Carefull, you certainly should put a / at the begenning of your endPoint ") : true;
let session_token = getCookie("session_token"); let session_token = getCookie("session_token");
let headers = new Headers({'Authorization': session_token}); let headers = new Headers({'Authorization': session_token});
config['headers'] = headers; config['headers'] = headers;
return fetch(restURL + endPoint, config).then( e => e.json()); return fetch(restURL + endPoint, config).then( e => e.json());
// TODO: Handle errors
} }