basic parsing server

This commit is contained in:
Robin Appelman 2015-04-02 17:10:15 +02:00
commit 8db47db62e
3 changed files with 49 additions and 27 deletions

1
.gitignore vendored
View file

@ -1 +1,2 @@
.idea
node_modules node_modules

View file

@ -1,13 +1,34 @@
var DemoParser = require('tf2-demo');
var express = require('express'); var express = require('express');
var app = express(); var app = express();
app.set('port', (process.env.PORT || 5000)); app.set('port', (process.env.PORT || 5000));
app.use(express.static(__dirname + '/public')); app.use(express.static(__dirname + '/public'));
app.get('/', function(request, response) { app.get('/', function (request, response) {
response.send('Hello World!'); response.send('Hello World!');
}); });
app.listen(app.get('port'), function() { app.post('/parse', function (req, res) {
var buffers = [];
req.on('data', function (buffer) {
buffers.push(buffer);
});
req.on('end', function () {
var buffer = Buffer.concat(buffers);
var demo = DemoParser.fromNodeBuffer(buffer);
var parser = demo.getParser();
var header = parser.readHeader();
var body = parser.parseBody();
body.header = header;
res.set('Content-Type', 'application/json');
res.write(JSON.stringify(body));
res.end();
});
// do something with req.rawBody
// use req.body for the parsed body
});
app.listen(app.get('port'), function () {
console.log("Node app is running at localhost:" + app.get('port')); console.log("Node app is running at localhost:" + app.get('port'));
}); });

View file

@ -1,25 +1,25 @@
{ {
"name": "node-js-getting-started", "name": "demoserver",
"version": "0.1.2", "version": "0.0.1",
"description": "A sample Node.js app using Express 4", "description": "REST Api for parsing demo files",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"start": "node index.js" "start": "node index.js"
}, },
"dependencies": { "dependencies": {
"express": "~4.9.x" "express": "~4.9.x",
"tf2-demo": "git://github.com/icewind1991/demo.js.git"
}, },
"engines": { "engines": {
"node": "0.10.x" "node": "0.10.x"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/heroku/node-js-getting-started" "url": "https://github.com/icewind1991/demoserver.git"
}, },
"keywords": [ "keywords": [
"node", "tf2",
"heroku", "demo"
"express"
], ],
"license": "MIT" "license": "MIT"
} }