mirror of
https://github.com/typicode/json-server.git
synced 2025-07-28 04:32:24 +08:00
Remove body-parser from default middlewares
This commit is contained in:
@ -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()
|
||||
|
6
src/server/body-parser.js
Normal file
6
src/server/body-parser.js
Normal file
@ -0,0 +1,6 @@
|
||||
var bodyParser = require('body-parser')
|
||||
|
||||
module.exports = [
|
||||
bodyParser.json({limit: '10mb', extended: false}),
|
||||
bodyParser.urlencoded({extended: false})
|
||||
]
|
@ -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()
|
||||
]
|
@ -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
|
||||
}
|
||||
|
@ -8,5 +8,6 @@ module.exports = {
|
||||
},
|
||||
defaults: require('./defaults'),
|
||||
router: require('./router'),
|
||||
rewriter: require('./rewriter')
|
||||
rewriter: require('./rewriter'),
|
||||
bodyParser: require('./body-parser')
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Reference in New Issue
Block a user