Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
# assignment_build_a_nodejs_server
Building your first Node.js server and exploring the request and response objects
Hi.. This is Lakshmi Maduri!
53 changes: 53 additions & 0 deletions app.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
var http = require('http');
var fs = require('fs');


var hostname = 'localhost';
var port = 3000;

////Node server sends back "Hello world!" :) - (this code works!)

// var server = http.createServer((req, res)=>{
// res.writeHead(200, {
// 'Content-Type':'text/plain'
// });
// res.end("Hello World!");
// });
//
// server.listen(port, hostname, ()=>{
// console.log(`Server is listening at ${hostname}:${port}`);
// });

//Displaying request and response data
var server = http.createServer((req, res)=>{
fs.readFile('./public/index.html', 'utf-8', function(err, data){
if(err){
res.writeHead(404);
res.end("File Not Found");
}else{
var reqObj = {
url:req.url,
method:req.method,
version:req.httpVersion,
header:req.headers
};
var new_req_str = JSON.stringify(reqObj, null, 2);
data = data.replace("{{ req }}", new_req_str);
var resObj = {
statusMessage:res.statusMessage,
statusCode:res.statusCode,
_header:res._header
};
var new_res_str = JSON.stringify(resObj, null, 2);
data = data.replace("{{ res }}", new_res_str);
res.writeHead(200,{
'Content-Type':'text/html'
});
res.end(data);
}
});
});

server.listen(port, hostname, ()=>{
console.log(`Server is listening at ${hostname}:${port}`);
});
25 changes: 25 additions & 0 deletions public/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<html>
<head>
</head>
<body>
<h1>Node js sends back hello!</h1>
<div>
<form action="../app.js" method = "get">
Username:<br>
<input type="text" name="username" placeholder="Enter your full name"><br>
Password:<br>
<input type="password" name="pwd"><br><br>
<input type="submit" value="Submit" id = "Submit">
</form>
</div>
<div id = "request">
<h2>Request:</h2>
<pre>{{ req }}</pre>
</div>

<div id = "response">
<h2>Response:</h2>
<pre>{{ res }}</pre>
</div>
</body>
</html>