/* Modifier votre front (code fait à la section 2) pour qu'il interroge l'API et indique à l'utilisateur si il existe en base de données Elle contiendra au minimum : - un fichier README indiquant comment installer votre projet et les routes disponibles - un fichier package.json - un fichier index.js contenant votre code Node */ import http from 'http'; import * as url from "url"; // npm i node-fetch // https://www.npmjs.com/package/node-fetch import fetch from 'node-fetch'; function outputHTML5(status, response, content, title) { response.writeHead(status, { 'Content-Type': 'text/html; charset=utf-8' }); response.write( ` ${title} ${content} ` ); response.end(); } var server = http.createServer(function (request, response) { if(request.url === "/" && request.method==="GET") { let formHtml = "
"; formHtml += ""; formHtml += "
"; formHtml += "
" formHtml += "
"; outputHTML5(200,response,formHtml,"login"); } else if(request.url === "/" && request.method==="POST") { let responseString = "/?"; console.log("In post"); request.on('data', function (varposted) { responseString += varposted; }).on('end', async function () { let parsedData = url.parse(responseString, true); if(parsedData.query['email']) { console.log('got' + parsedData.query['email']) fetch('http://localhost:8088/check', { method:'POST', body:responseString } ) .then(apiresponse => apiresponse.json() ) .then( json => { if(json.emailValid) { outputHTML5(200,response,'Ok ! Connexion possible :)',"Cool!"); } else { outputHTML5(200,response,"Cet mail n'existe pas ou le mot de passe ne correspond pas à l'email","Zut!"); } }) .catch(err => { console.log(err); outputHTML5(500,response,'Y\'a eu un souci',"Oups!"); }); } }); } else { outputHTML5(404,response,'Y\'a rien ici',"Oups"); } }); server.listen(80);