| @ -0,0 +1 @@ | |||
| node_modules | |||
| @ -0,0 +1,53 @@ | |||
| # YAPS Body Parser | |||
| A body parsing plugin for [YAPS](https://github.com/brettlangdon/yaps.git). | |||
| ## Install | |||
| ### Via NPM | |||
| ```bash | |||
| npm install [-g] yaps-body | |||
| ``` | |||
| ### Via Git | |||
| ```bash | |||
| git clone git://github.com/brettlangdon/yaps-body.git | |||
| cd ./yaps-body | |||
| npm install | |||
| `` | |||
| ## Usage | |||
| ```javascript | |||
| var yaps = require("yaps"); | |||
| var yaps_body = require("yaps-body"); | |||
| var app = new yaps.server(); | |||
| app.registerPlugin(yaps_body); | |||
| var my_plugin = function(options){ | |||
| this.POST("/", function(request, server, respond){ | |||
| // the request body as a buffer | |||
| console.dir(request.body); | |||
| // any errors raised while reading the POST data | |||
| console.dir(request.bodyError); | |||
| respond(200, ""); | |||
| }); | |||
| }; | |||
| app.registerPlugin(my_plugin); | |||
| app.start(); | |||
| ``` | |||
| ## Settings | |||
| ```javascript | |||
| var yaps = require("yaps"); | |||
| var yaps_body = require("yaps-body"); | |||
| var app = new yaps.server({ | |||
| // attempt to parse the body as JSON, default: false | |||
| // this means request.body will be an obj and NOT a buffer | |||
| bodyAsJSON: true, | |||
| }); | |||
| app.registerPlugin(yaps_body); | |||
| app.start(); | |||
| ``` | |||
| @ -0,0 +1,30 @@ | |||
| var body = function(options){ | |||
| this.settings = options || {}; | |||
| this.settings.bodyAsJSON = this.settings.bodyAsJSON || false; | |||
| this.on("setup", function(request, server, done){ | |||
| var self = this; | |||
| request.body = new Buffer(0); | |||
| request.on("data", function(chunk){ | |||
| request.body = Buffer.concat([request.body, chunk]); | |||
| }); | |||
| request.on("end", function(){ | |||
| if(self.settings.bodyAsJSON){ | |||
| try{ | |||
| request.body = JSON.parse(request.body); | |||
| }catch(e){ | |||
| request.body = undefined; | |||
| request.bodyError = e.toString(); | |||
| } | |||
| } | |||
| done(); | |||
| }); | |||
| request.on("error", function(error){ | |||
| request.body = undefined; | |||
| request.bodyError = error; | |||
| done(); | |||
| }); | |||
| }); | |||
| }; | |||
| module.exports = body; | |||
| @ -0,0 +1,25 @@ | |||
| { | |||
| "author": "Brett Langdon <brett@blangdon.com> (http://brett.is)", | |||
| "bugs": { | |||
| "url": "https://github.com/brettlangdon/yaps-body/issues" | |||
| }, | |||
| "description": "Body parser plugin for YAPS", | |||
| "keywords": [ | |||
| "body", | |||
| "parser", | |||
| "http", | |||
| "server", | |||
| "yaps" | |||
| ], | |||
| "license": "MIT", | |||
| "main": "index.js", | |||
| "name": "yaps-body", | |||
| "repository": { | |||
| "type": "git", | |||
| "url": "git://github.com/brettlangdon/yaps-body.git" | |||
| }, | |||
| "scripts": { | |||
| "test": "make test" | |||
| }, | |||
| "version": "0.1.0" | |||
| } | |||