nic_training
Version:
Sample demos for training on nodejs
65 lines (57 loc) • 1.57 kB
JavaScript
//restHttp.js
var http = require('http');
var fs = require('fs');
var parse = require('url').parse;
var join = require('path').join;
var contents = fs.readFileSync('MOCK_DATA.json', 'utf8');
//console.log(contents);
var jsonContent = JSON.parse(contents);
//console.log(jsonContent.length);
/*for (var i = 0; i < jsonContent.length; i++) {
console.log(jsonContent[i].empName);
}*/
//Alternatively U could represent the json file as object.
var jsonData = require("./MOCK_DATA.json");
//console.log(jsonData);
var server = http.createServer(function(req, res){
switch(req.method){
case 'GET':
var content = JSON.stringify(jsonData);
res.write(content);
res.end();
break;
case 'POST':
var newEmp = {};
req.on('data', function(val){
newEmp = JSON.parse(val)
});
req.on('end', function(){
jsonData.push(newEmp);
res.end("Employee added successfully with count " + jsonData.length);
})
break;
case 'DELETE':
}
});
server.listen(1234);
var root = __dirname;
var clientApp = http.createServer(function(req, res){
var url = parse(req.url);
if(req.url =='favicon.ico'){
console.log("Not processing this");
}else{
var path = root + '/' + url.pathname;
var stream = fs.createReadStream(path);
stream.on('data', function(file){
res.write(file);
})
stream.on('error', (err)=>{
res.writeHead(404,{'Content-type':'text/html'})
res.write("<h2>Error Page</h2>");
res.end();
})
stream.on('end', function(){
res.end();
})
}
}).listen(2345);