Created
December 14, 2017 05:00
-
-
Save niamurrell/e26e7caaaacf894227fc2053bdf923e1 to your computer and use it in GitHub Desktop.
Runs a Node.js server which stores/retrieves data in txt file based on URL params
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var http = require("http"); | |
| var url = require("url"); | |
| var fs = require("fs"); | |
| var db = {}; | |
| var handleRequest = function(req, res) { | |
| res.writeHead(200, {"Content-Type": "text/plain"}); | |
| console.log("Request was made to URL: " + req.url); | |
| // Get URL params | |
| var parsedUrl = url.parse(req.url, true); | |
| var pathname = parsedUrl.pathname; | |
| var query = parsedUrl.query; | |
| var key = query.key; | |
| var resMessage = "Proper URL params: '/set?somekey=somevalue' OR '/get?key=somekey'"; | |
| // Handle routes | |
| if (pathname === "/set") { // SET sends params to a txt file | |
| db = Object.assign(db, query); | |
| fs.writeFile("db.txt", JSON.stringify(db), function() { | |
| console.log("Database contents:"); | |
| console.log(db); | |
| }); | |
| resMessage = "You have stored " + JSON.stringify(query) + " in memory."; | |
| res.end(resMessage); | |
| } else if (pathname === "/get") { // GET finds params from a txt file | |
| fs.readFile("db.txt", "utf8", function(err, data) { | |
| if (err) throw err; | |
| var value = JSON.parse(data)[key]; | |
| resMessage = "The value of '" + key + "' is: " + value; | |
| res.end(resMessage); | |
| }); | |
| } else { | |
| res.end(resMessage); | |
| } | |
| } | |
| // Run server | |
| http.createServer(handleRequest).listen(4000, function() { | |
| console.log("App running on port 4000"); | |
| }); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment