I run a simple nodejs application using index, server, router and requestHandler, and it shows an error as soon as the response.writeHead (200, {"Content-Type": "text / html"}); line. The code:
Request file Handler.js:
var querystring=require("querystring"),
fs=require("fs"),
formidable=require("formidable");
function start(response){
console.log("Request handler 'start' was called.");
var body='<html>'+
'<head>'+
'<meta http-equiv="Content-Type"'+
'content="text/html; charset=UTF-8"/>'+
'</head>'+
'<body>'+
'<form action="/upload" enctype="multipart/form-data"'+
'method="post">'+
'<input type="file" name="upload" mulitple="multiple">'+
'<input type="submit" value="Upload file"/>'+
'</form>'+
'</body>'+
'</html>';
response.writeHead(200,{"Content-Type":"text/html"});
response.write(body);
response.end();
}
Index.js file:
var server= require("./server");
var router= require("./router");
var requestHandlers= require("./requestHandlers");
var handle={}
handle["/"]=requestHandlers.start;
handle["/start"]=requestHandlers.start;
server.start(router.route, handle);
File router.js:
function route(handle, pathname, request, response){
console.log("About to route request for "+pathname);
if (typeof handle[pathname] === 'function'){
handle[pathname](request, response);
}else{
console.log("No request handler found for" +pathname);
response.writeHead(404, {"Content-Type":"text/html"});
response.write("404 Not found");
response.end();
}
}
exports.route=route;
Server.js file:
var http=require("http");
var url=require("url");
function start(route, handle){
function onRequest(request, response){
var pathname=url.parse(request.url).pathname;
console.log("Request for " + pathname + " received");
route(handle, pathname);
route(handle,pathname,response,request);
}
http.createServer(onRequest).listen(8888);
console.log("Server has started");
}
exports.start=start;
source
share