Remove body-parser from default middlewares

This commit is contained in:
typicode
2016-10-05 00:20:48 +02:00
parent dbf9ed9a5c
commit b7e13f2c89
7 changed files with 38 additions and 14 deletions

View File

@ -364,6 +364,9 @@ server.get('/echo', function (req, res) {
res.jsonp(req.query)
})
// To handle POST, PUT and PATCH you need to use a body-parser
// You can use the one used by JSON Server
server.use(jsonServer.bodyParser)
server.use(function (req, res, next) {
if (req.method === 'POST') {
req.body.createdAt = Date.now()

View File

@ -0,0 +1,6 @@
var bodyParser = require('body-parser')
module.exports = [
bodyParser.json({limit: '10mb', extended: false}),
bodyParser.urlencoded({extended: false})
]

View File

@ -1,9 +0,0 @@
var bodyParser = require('body-parser')
var methodOverride = require('method-override')
// common middlewares used in ./defaults.js and ./router/index.js
module.exports = [
bodyParser.json({limit: '10mb', extended: false}),
bodyParser.urlencoded({extended: false}),
methodOverride()
]

View File

@ -6,7 +6,6 @@ var cors = require('cors')
var compression = require('compression')
var errorhandler = require('errorhandler')
var objectAssign = require('object-assign')
var common = require('./common')
module.exports = function (opts) {
var userDir = path.join(process.cwd(), 'public')
@ -67,5 +66,5 @@ module.exports = function (opts) {
})
}
return arr.concat(common)
return arr
}

View File

@ -8,5 +8,6 @@ module.exports = {
},
defaults: require('./defaults'),
router: require('./router'),
rewriter: require('./rewriter')
rewriter: require('./rewriter'),
bodyParser: require('./body-parser')
}

View File

@ -1,20 +1,22 @@
var express = require('express')
var methodOverride = require('method-override')
var _ = require('lodash')
var _db = require('underscore-db')
var low = require('lowdb')
var fileAsync = require('lowdb/lib/file-async')
var bodyParser = require('../body-parser')
var plural = require('./plural')
var nested = require('./nested')
var singular = require('./singular')
var mixins = require('../mixins')
var common = require('../common')
module.exports = function (source) {
// Create router
var router = express.Router()
// Add middlewares
router.use(common)
router.use(methodOverride())
router.use(bodyParser)
// Create database
var db

View File

@ -1,7 +1,29 @@
module.exports = {
toNative: toNative,
getPage: getPage
}
// Turns string to native.
// Example:
// 'true' -> true
// '1' -> 1
function toNative (value) {
if (typeof value === 'string') {
if (
value === '' ||
value.trim() !== value ||
(value.length > 1 && value[0] === '0')
) {
return value
} else if (value === 'true' || value === 'false') {
return value === 'true'
} else if (!isNaN(+value)) {
return +value
}
}
return value
}
function getPage (array, page, perPage) {
var obj = {}
var start = (page - 1) * perPage