Skip to content

Commit f7e065e

Browse files
committed
Parse body before calling handler
1 parent 96f9ea4 commit f7e065e

1 file changed

Lines changed: 12 additions & 13 deletions

File tree

index.js

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ const scrud = {
2222
'PUT/': 'update',
2323
'DELETE/': 'delete'
2424
}
25+
const hasBody = ['create', 'update']
2526

2627
// globals
2728
let logger
@@ -149,7 +150,11 @@ function handleRequest (req, res) {
149150
let jwt = (headers.authorization || '').replace(/^Bearer\s/, '')
150151
_authenticate(jwt).then((authData) => {
151152
req.auth = req.params.auth = authData
152-
handler(req, res, resource.name)
153+
if (hasBody.indexOf(action) === -1) return handler(req, res, resource.name)
154+
bodyParse(req).then((body) => {
155+
req.params = Object.assign(body, req.params)
156+
return handler(req, res, resource.name)
157+
})
153158
}).catch((err) => fourOhOne(res, err))
154159
}
155160

@@ -228,12 +233,9 @@ function resourceSearch (req, res, name) {
228233

229234
// resource method: create
230235
function resourceCreate (req, res, name) {
231-
bodyParse(req).then((body) => {
232-
req.params = Object.assign(body, req.params)
233-
_create(name, req.params).then((d) => {
234-
return sendData(res, d)
235-
}).catch((err) => sendErr(res, err))
236-
})
236+
_create(name, req.params).then((d) => {
237+
return sendData(res, d)
238+
}).catch((err) => sendErr(res, err))
237239
}
238240

239241
// resource method: read
@@ -245,12 +247,9 @@ function resourceRead (req, res, name) {
245247

246248
// resource method: update
247249
function resourceUpdate (req, res, name) {
248-
bodyParse(req).then((body) => {
249-
req.params = Object.assign(body, req.params)
250-
_save(name, req.id, req.params).then((d) => {
251-
return sendData(res, d)
252-
}).catch((err) => sendErr(res, err))
253-
})
250+
_save(name, req.id, req.params).then((d) => {
251+
return sendData(res, d)
252+
}).catch((err) => sendErr(res, err))
254253
}
255254

256255
// resource method: delete

0 commit comments

Comments
 (0)