Server capable of serving files
This commit is contained in:
60
server.js
Executable file
60
server.js
Executable file
@@ -0,0 +1,60 @@
|
||||
#!/home/menethil/.nvm/versions/node/v14.16.1/bin/node
|
||||
|
||||
var http = require('http');
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
|
||||
const contentTypes = {
|
||||
'.html': 'text/html',
|
||||
'.css': 'text/css',
|
||||
'.js': 'application/javascript',
|
||||
'.jpg': 'image/jpeg',
|
||||
'.jpeg': 'image/jpeg',
|
||||
'.png': 'image/png',
|
||||
'.webp': 'image/webp',
|
||||
'.bmp': 'image/bmp',
|
||||
'.svg': 'image/svg+xml',
|
||||
'.ico': 'image/x-icon',
|
||||
'.mp4': 'video/mp4',
|
||||
'.webm': 'video/webm',
|
||||
};
|
||||
|
||||
var server = http.createServer(function (request, response) {
|
||||
// Handle requests here...
|
||||
|
||||
// Fetch requested file
|
||||
fs.readFile(__dirname + request.url, function (error, data) {
|
||||
if(!error) {
|
||||
const mimetype = path.extname(request.url);
|
||||
if (!(typeof mimetype === 'undefined')) {
|
||||
|
||||
response.writeHead(200, {
|
||||
'Content-Type': mimetype
|
||||
});
|
||||
response.end(data);
|
||||
return;
|
||||
} else {
|
||||
response.writeHead(500, {
|
||||
'Content-Type': 'text/html'
|
||||
});
|
||||
|
||||
console.error('Unknown file mime type for file: ' + __dirname + request.url);
|
||||
response.end('Unknown file mime type.');
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
response.writeHead(404, {
|
||||
'Content-Type': 'text/html'
|
||||
});
|
||||
|
||||
console.error('File not found: ' + JSON.stringify(error));
|
||||
response.end('File not found.');
|
||||
return;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
const port = 80;
|
||||
server.listen(port);
|
||||
console.log('Node.js sellery server running and listening to port ' + port);
|
||||
|
||||
Reference in New Issue
Block a user