diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c2658d7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules/ diff --git a/README.md b/README.md index 29b1d71..b1f54a7 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ # assignment_build_a_nodejs_server + +by Brennan Fulmer + Building your first Node.js server and exploring the request and response objects diff --git a/app.js b/app.js new file mode 100644 index 0000000..a520677 --- /dev/null +++ b/app.js @@ -0,0 +1,41 @@ + +const http = require(`http`), + fs = require(`fs`), + hostname = `127.0.0.1`, + port = 3000; + +let server = http.createServer((req, res) => { + fs.readFile(`public/index.html`, `utf8`, (err, data) => { + if (err) { + res.writeHead(404); + res.end(`404 File Not Found`); + } else { + res.writeHead(200, { + "Content-Type": `text/html` + }); + + let requested = { + url: req.url, + method: req.method, + httpVersion: req.httpVersion, + headers: req.headers + }; + + let responses = { + statusMessage: res.statusMessage, + statusCode: res.statusCode, + header: res._header + }; + + let modified = data + .replace(/{{ req }}/, JSON.stringify(requested, null, 1)) + .replace(/{{ res }}/, JSON.stringify(responses, null, 1)); + + res.end(modified); + } + }); +}); + +server.listen(port, hostname, () => { + console.log(`Server running at http://${hostname}:${port}/`); +}); diff --git a/node_modules/http/package.json b/node_modules/http/package.json new file mode 100644 index 0000000..22fd5da --- /dev/null +++ b/node_modules/http/package.json @@ -0,0 +1,37 @@ +{ + "_from": "http", + "_id": "http@0.0.0", + "_inBundle": false, + "_integrity": "sha1-huYybSnF0Dnen6xYSkVon5KfT3I=", + "_location": "/http", + "_phantomChildren": {}, + "_requested": { + "type": "tag", + "registry": true, + "raw": "http", + "name": "http", + "escapedName": "http", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/http/-/http-0.0.0.tgz", + "_shasum": "86e6326d29c5d039de9fac584a45689f929f4f72", + "_spec": "http", + "_where": "/home/brennan/Documents/Viking/Node/node_server", + "author": "", + "bundleDependencies": false, + "deprecated": false, + "description": "", + "license": "BSD-2-Clause", + "main": "index.js", + "name": "http", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "version": "0.0.0" +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..60360f2 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,13 @@ +{ + "name": "node_server", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "http": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/http/-/http-0.0.0.tgz", + "integrity": "sha1-huYybSnF0Dnen6xYSkVon5KfT3I=" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..88e1516 --- /dev/null +++ b/package.json @@ -0,0 +1,26 @@ +{ + "name": "node_server", + "version": "1.0.0", + "description": "node_server", + "main": "app.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/BrennanFulmer/assignment_build_a_nodejs_server.git" + }, + "keywords": [ + "node", + "server" + ], + "author": "Brennan", + "license": "ISC", + "bugs": { + "url": "https://github.com/BrennanFulmer/assignment_build_a_nodejs_server/issues" + }, + "homepage": "https://github.com/BrennanFulmer/assignment_build_a_nodejs_server#readme", + "dependencies": { + "http": "0.0.0" + } +} diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..d776026 --- /dev/null +++ b/public/index.html @@ -0,0 +1,42 @@ + + + + + + + My First Node.js Server + + + + +

Hello from Node.js Server!

+ +

Request:

+
{{ req }}
+ +

Response:

+
{{ res }}
+ +
+
+ Login Information: + + + + + +
+
+ + + +