mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-12 17:04:57 +00:00
78 lines
2.7 KiB
JavaScript
78 lines
2.7 KiB
JavaScript
var port = process.env.PORT || 3000,
|
|
http = require('http'),
|
|
fs = require('fs'),
|
|
url = require('url'),
|
|
mime = require('mime'),
|
|
html = fs.readFileSync('index.html');
|
|
|
|
var log = function(entry) {
|
|
fs.appendFileSync('/tmp/sample-app.log', new Date().toISOString() + ' - ' + entry + '\n');
|
|
};
|
|
|
|
var server = http.createServer(function (req, res) {
|
|
|
|
// Parse the request containing file name
|
|
var pathname = url.parse(req.url).pathname;
|
|
|
|
// Print the name of the file for which request is made.
|
|
console.log("Request for " + pathname + " received.");
|
|
|
|
if (req.method === 'POST') {
|
|
var body = '';
|
|
|
|
req.on('data', function(chunk) {
|
|
body += chunk;
|
|
});
|
|
|
|
req.on('end', function() {
|
|
if (req.url === '/') {
|
|
log('Received message: ' + body);
|
|
} else if (req.url === '/scheduled') {
|
|
log('Received task ' + req.headers['x-aws-sqsd-taskname'] + ' scheduled at ' + req.headers['x-aws-sqsd-scheduled-at']);
|
|
}
|
|
|
|
res.writeHead(200, 'OK', {'Content-Type': 'text/plain'});
|
|
res.end();
|
|
});
|
|
} else {
|
|
var filename = pathname.substr(1);
|
|
if(filename === '' || filename.indexOf('.') === -1){
|
|
filename = 'index.html';
|
|
}
|
|
// Read the requested file content from file system
|
|
fs.readFile(filename, function (err, data) {
|
|
if (err) {
|
|
console.log(err, filename);
|
|
// HTTP Status: 404 : NOT FOUND
|
|
// Content Type: text/plain
|
|
res.writeHead(404, {'Content-Type': 'text/html'});
|
|
}else{
|
|
//Page found
|
|
// HTTP Status: 200 : OK
|
|
// Content Type: text/plain
|
|
var type = mime.lookup(filename);
|
|
console.log('type',type);
|
|
if (!res.getHeader('content-type')) {
|
|
var charset = mime.charsets.lookup(type);
|
|
res.setHeader('Content-Type', type + (charset ? '; charset=' + charset : ''));
|
|
}
|
|
if(type.indexOf('image') > -1 || type.indexOf('font') > -1){
|
|
var img = fs.readFileSync(pathname.substr(1));
|
|
res.end(img, 'binary');
|
|
}else{
|
|
res.write(data.toString());
|
|
}
|
|
// Write the content of the file to response body
|
|
}
|
|
// Send the response body
|
|
res.end();
|
|
});
|
|
}
|
|
});
|
|
|
|
// Listen on port 3000, IP defaults to 127.0.0.1
|
|
server.listen(port);
|
|
|
|
// Put a friendly message on the terminal
|
|
console.log('Server running at http://127.0.0.1:' + port + '/');
|