Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var http = require('http');
- var fs = require('fs');
- var path = require('path');
- var url = require('url');
- var port = process.argv[2] || 8888;
- var dirs = {};
- dirs = [".//png//", ".//jpg//", ".//html//", ".//js//", ".//gif//"];
- exts = [".png", ".jpg", ".html", ".js", ".gif"];
- var myServer = http.createServer(function (req, res) {
- console.log('request starting:' + req.method + " " + req.url);
- var dirName = path.dirname(req.url).toLowerCase();
- var baseName = path.basename(req.url).toLowerCase();
- var extName = path.extname(req.url).toLowerCase();
- // handling plain files .html/.js
- if (req.method.toLowerCase() === 'get' && (extName === '.html' || extName === '.js')) {
- fs.readFile(FileDirectory + req.url, function (error, content) {
- if (error) {
- res.writeHead(500);
- res.end();
- }
- else {
- res.writeHead(200, { 'Content-Type': 'text/html' });
- res.end(content, 'utf-8');
- }
- });
- return;
- }
- else if (req.method.toLowerCase() === 'get' && (extName === '.jpg' || extName === '.gif' || extName === '.png')) {
- var filepath = "";
- if (exts[extName] !== null) {
- filepath = path.join(dirs[exts.indexOf(extName)], baseName);
- console.log(exts.indexOf(extName));
- console.log(dirs[exts.indexOf(extName)]);
- if (!fs.existsSync(filepath) || fs.statSync(filepath).isDirectory()) {
- console.log('file for request ' + filepath + " not found");
- res.writeHead(404);
- res.end();
- return;
- }
- console.log("sending " + filepath);
- fs.readFile(filepath, function (error, content) {
- if (error) {
- res.writeHead(500);
- res.end();
- console.log("error");
- return;
- }
- else {
- //res.writeHead(200, { 'Content-Type': 'application/octet-stream' });
- //res.write(content);
- res.setHeader("Content-Disposition", "attachment; filename=" + baseName);
- res.end(content, 'utf-8');
- //res.end();
- console.log("success");
- return;
- }
- });
- }
- else {
- res.writeHead(404);
- res.end();
- }
- }
- else {
- res.writeHead(404);
- res.end();
- }
- });
- myServer.listen(parseInt(port, 10));
- console.log("Static file server running at\n => http://localhost:" + port + "/\nCTRL + C to shutdown")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement