import { getLeague, getPlayerList } from "./ApiUtils.js"; const HTTP_CODE = { OK: 200, BAD_REQUEST: 400, }; const HTTP_VERB = { GET: "GET", POST: "POST", PUT: "PUT", PATCH: "PATCH", DELETE: "DELETE", }; /** * Create HTTP json response * @param int statusCode * @param object object * @param object response */ function jsonResponse(statusCode, object, response) { response.statusCode = statusCode; response.setHeader("Content-type", "Application/json"); response.end(JSON.stringify(object)); } /** * Provide HTTP response in function of method * * @param object request * @param object response */ function httpResponseProvider(request, response) { switch (request.method) { case HTTP_VERB.POST: case HTTP_VERB.PUT: case HTTP_VERB.DELETE: case HTTP_VERB.PATCH: console.log(HTTP_VERB.POST + " not available"); jsonResponse( HTTP_CODE.BAD_REQUEST, { error: HTTP_VERB.POST + " not available !" }, response ); break; case HTTP_VERB.GET: getPlayerList(39, 2021) .then((data) => data) .then((data) => { getLeague(data[0].statistics[0].league.name).then( (data) => { jsonResponse(HTTP_CODE.OK, { data }, response); } ); }); break; default: console.log(HTTP_VERB.POST + " verb unknown"); jsonResponse( HTTP_CODE.BAD_REQUEST, { error: HTTP_VERB.POST + " verb unknown !" }, response ); break; } } export { httpResponseProvider };