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

View file

@ -1,13 +1,34 @@
var DemoParser = require('tf2-demo');
var express = require('express');
var app = express();
app.set('port', (process.env.PORT || 5000));
app.use(express.static(__dirname + '/public'));
app.get('/', function(request, response) {
app.get('/', function (request, response) {
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'));
});

View file

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