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)
|
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) {
|
server.use(function (req, res, next) {
|
||||||
if (req.method === 'POST') {
|
if (req.method === 'POST') {
|
||||||
req.body.createdAt = Date.now()
|
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 compression = require('compression')
|
||||||
var errorhandler = require('errorhandler')
|
var errorhandler = require('errorhandler')
|
||||||
var objectAssign = require('object-assign')
|
var objectAssign = require('object-assign')
|
||||||
var common = require('./common')
|
|
||||||
|
|
||||||
module.exports = function (opts) {
|
module.exports = function (opts) {
|
||||||
var userDir = path.join(process.cwd(), 'public')
|
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'),
|
defaults: require('./defaults'),
|
||||||
router: require('./router'),
|
router: require('./router'),
|
||||||
rewriter: require('./rewriter')
|
rewriter: require('./rewriter'),
|
||||||
|
bodyParser: require('./body-parser')
|
||||||
}
|
}
|
||||||
|
@ -1,20 +1,22 @@
|
|||||||
var express = require('express')
|
var express = require('express')
|
||||||
|
var methodOverride = require('method-override')
|
||||||
var _ = require('lodash')
|
var _ = require('lodash')
|
||||||
var _db = require('underscore-db')
|
var _db = require('underscore-db')
|
||||||
var low = require('lowdb')
|
var low = require('lowdb')
|
||||||
var fileAsync = require('lowdb/lib/file-async')
|
var fileAsync = require('lowdb/lib/file-async')
|
||||||
|
var bodyParser = require('../body-parser')
|
||||||
var plural = require('./plural')
|
var plural = require('./plural')
|
||||||
var nested = require('./nested')
|
var nested = require('./nested')
|
||||||
var singular = require('./singular')
|
var singular = require('./singular')
|
||||||
var mixins = require('../mixins')
|
var mixins = require('../mixins')
|
||||||
var common = require('../common')
|
|
||||||
|
|
||||||
module.exports = function (source) {
|
module.exports = function (source) {
|
||||||
// Create router
|
// Create router
|
||||||
var router = express.Router()
|
var router = express.Router()
|
||||||
|
|
||||||
// Add middlewares
|
// Add middlewares
|
||||||
router.use(common)
|
router.use(methodOverride())
|
||||||
|
router.use(bodyParser)
|
||||||
|
|
||||||
// Create database
|
// Create database
|
||||||
var db
|
var db
|
||||||
|
@ -1,7 +1,29 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
|
toNative: toNative,
|
||||||
getPage: getPage
|
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) {
|
function getPage (array, page, perPage) {
|
||||||
var obj = {}
|
var obj = {}
|
||||||
var start = (page - 1) * perPage
|
var start = (page - 1) * perPage
|
||||||
|
Reference in New Issue
Block a user