SpringAutumn / osprey-method-handler

Middleware for validating requests and responses based on a RAML method object

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Osprey Method Handler

NPM version NPM Downloads Build status Test coverage

Middleware for validating requests and responses based on a RAML method object.

Installation

npm install osprey-method-handler --save

Features

  • Header validation (ignores undocumented headers)
  • Query validation (ignores undocumented parameters)
  • Request body validation
    • JSON schemas
    • XML schemas
    • URL-encoded formParameters (ignores undocumented parameters)
    • Multipart form data formParameters (ignores undocumented parameters)
  • Accept content type negotiation (based on defined success response bodies)
  • Automatically parsed request bodies
    • JSON (req.body)
    • URL-encoded (req.body)
    • XML (req.xml)
    • Form Data (req.form using Busboy, but you need to pipe the request into it - req.pipe(req.form))

Usage

var express = require('express');
var handler = require('osprey-method-handler');
var app = express();

app.post('/users', handler({
  headers: {},
  responses: {
    '200': {
      body: {
        'application/json': {
          schema: '...',
          example: '...'
        }
      }
    }
  },
  body: {
    'application/json': {
      schema: '...'
    }
  }
}), function (req, res) {
  res.send('success');
});

License

MIT license

About

Middleware for validating requests and responses based on a RAML method object

License:Other


Languages

Language:JavaScript 100.0%