From c352851c4913c6f2344cf8b537e191fb423f3013 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 25 Jan 2019 15:59:02 -0600 Subject: [PATCH 1/2] server can get/post/put/delete users and can get using path variables --- index.js | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/index.js b/index.js index 8b13789..2e61e5b 100644 --- a/index.js +++ b/index.js @@ -1 +1,45 @@ +var http = require('http'); +let users = require('./state').users; +let server = http.createServer(messageReceived); +server.listen(8080); + +function messageReceived(req, res) { + res.writeHead(200, {'Content-Type': 'text/plain'}); + + if(req.method === "GET" && req.url === "/users/"){ + let usersJSON = JSON.stringify(users); + res.write(usersJSON); + } + + else if(req.method === "GET" && req.url.indexOf("/users/") > -1){ + let id = req.url.split("/"); + let user = users.find(p=>p["_id"] == id[2]); + let usersJSON = JSON.stringify(user); + res.write(usersJSON); + } + + else if(req.method === "POST" && req.url === "/users/"){ + let body = []; + req.on('data', (chunk) => { + body.push(chunk); + }).on('end', () => { + body = Buffer.concat(body).toString(); + let user = JSON.parse(body); + users.push(user); + }); + } + + else if(req.method === "PUT" && req.url === "/users/"){ + res.write("you wanted to update a user") + } + + else if(req.method === "DELETE" && req.url === "/users/"){ + res.write("you wanted to delete a user") + } + + else{ + res.write("404 Not Found"); + } + res.end(); +} \ No newline at end of file From 159c21b574093e5ec2fb8f1e59f107d22cc70bce Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 29 Jan 2019 16:11:23 -0600 Subject: [PATCH 2/2] ignore that last commit comment forgot i didnt do half of that, also added user id increments --- index.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/index.js b/index.js index 2e61e5b..5f629ca 100644 --- a/index.js +++ b/index.js @@ -1,5 +1,6 @@ var http = require('http'); +var fs = require('fs'); let users = require('./state').users; let server = http.createServer(messageReceived); server.listen(8080); @@ -7,7 +8,7 @@ server.listen(8080); function messageReceived(req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); - if(req.method === "GET" && req.url === "/users/"){ + if(req.method === "GET" && (req.url === "/users/" || req.url === "/users")){ let usersJSON = JSON.stringify(users); res.write(usersJSON); } @@ -19,27 +20,33 @@ function messageReceived(req, res) { res.write(usersJSON); } - else if(req.method === "POST" && req.url === "/users/"){ + else if(req.method === "POST" && (req.url === "/users/" || req.url === "/users")){ let body = []; req.on('data', (chunk) => { body.push(chunk); }).on('end', () => { body = Buffer.concat(body).toString(); let user = JSON.parse(body); + user._id = users.length + 1; users.push(user); + // fs.appendFile('state.js'.users, body, (err) => { + // if (err) throw err; + // console.log('The "data to append" was appended to file!'); + // }); }); + // res.write(JSON.parse(body)); } - else if(req.method === "PUT" && req.url === "/users/"){ + else if(req.method === "PUT" && req.url.indexOf("/users/") > -1){ res.write("you wanted to update a user") } - else if(req.method === "DELETE" && req.url === "/users/"){ + else if(req.method === "DELETE" && req.url.indexOf("/users/") > -1){ res.write("you wanted to delete a user") } else{ - res.write("404 Not Found"); + res.write("Not Found"); } res.end(); } \ No newline at end of file