fronteasy
Version:
Work in progress...
44 lines (35 loc) • 1.33 kB
JavaScript
module.exports = (function(middleware) {
'use strict';
var mimeTypes = require('mime-types');
var path = require('path');
var fs = require('./memory').instance();
// Read file from memory (nothing else).
return function (request, response, next) {
try {
var dest = '/dist';
var endpoint = (request.url === '/')
? dest + request.url + 'index.html'
: dest + request.url;
var file = path.join(__dirname, '../..', endpoint);
fs.readFile(file, function (error, data) {
if (error) {
// console.error('File ' + file + ' not found in memory.');
return (next) ? next() : response.end();
} else {
// console.log('Serving file ' + file + ' from memory');
var mimeType = mimeTypes.lookup(file) || 'application/octet-stream';
response.writeHead(200, {'Content-Type': mimeType});
response.end(data);
}
});
}
catch(e) {
console.error('Cannot read file from filesystem: ', e);
}
// Test
// setTimeout(function() {
// var read = fs.readdirSync('/mnt/c/Users/Luca/Desktop/workspaces/blank-project/dist/app');
// console.log(read);
// }, 5000);
};
})(global.middleware || (global.middleware = {}));