const http = require("http"); const PORT = process.env.PORT || 8080; require("url") const posts = require("./data/data"); const get = require("./methods/get"); const post = require("./methods/post"); const put = require("./methods/put"); const del = require("./methods/delete"); const getBody = require("./methods/getBody") const server = http.createServer((request, response) => { request.posts = posts request.query = new URL(request.url, `http://${request.headers.host}`) switch (request.method) { case "GET": getBody(request, response, get); break; case "POST": getBody(request, response, post); break; case "PUT": getBody(request, response, put); break; case "DELETE": getBody(request, response, del); break; case "OPTIONS": response.setHeader('Access-Control-Allow-Origin', '*'); response.setHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept'); response.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS'); response.statusCode = 204; response.write("OK Response"); response.end(); break; default: response.statusCode = 400; response.write("No Response"); response.end(); } }); server.listen(PORT, (err) => { err ? console.error(err) : console.log(`listening on port ${PORT}`); });