server-client-module
Version:
Server-Side Client-Side
83 lines (62 loc) • 2.37 kB
JavaScript
var http = require("http");
var fs = require("fs");
var main = fs.readFileSync("task2.html");
var style = fs.readFileSync("style.css").toString();
var icon = fs.readFileSync("favicon.ico");
var profile = fs.readFileSync("welcome.html").toString();
var clientScript =fs.readFileSync("client.js")
var jsonn = fs.readFileSync("clients.json");
var jsn = JSON.parse(jsonn)
http.createServer((req,res)=>{
if(req.method=="GET"){
switch(req.url){
case "/":
case "/task2.html":
res.writeHead(res.statusCode,{"Content-Type":"text/html"});
res.write(main);
break;
case "/welcome.html":
res.writeHead(res.statusCode,{"Content-Type":"text/html"});
res.write(profile);
break;
case"/style.css":
res.writeHead(res.statusCode,{"Content-Type":"text/css"})
res.write(style)
break;
case "/favicon.ico":
res.writeHead(res.statusCode,{"content-type":"image/vnd.microsoft.icon"});
res.write(icon);
break;
case "/client.js":
res.writeHead(res.statusCode,{"Content-Type":"text/javascript"})
res.write(clientScript)
break;
}
res.end();
}
else if(req.method == "POST"){
req.on("data", function(data){
var alldata = data.toString();
keys = alldata.split("&");
var name1 = keys[0].split("=")[1];
var mobile = keys[1].split("=")[1];
var address = keys[2].split("=")[1];
var email = keys[3].split("=")[1].split("%40").join("@");
var info = {
name:name1,
mobilee:mobile,
addresss:address,
emaill:email
}
var specificKey =Object.values(jsn)
specificKey.push(info)
fs.writeFileSync("clients.json",JSON.stringify(specificKey))
})
req.on("end", function(){
res.writeHead(res.statusCode,{"Content-Type":"text/html"})
res.write(profile)
res.end();
})
}
res.end();
}).listen("7000",function(){console.log("Listening on Port 7000")})