aboutsummaryrefslogtreecommitdiff
path: root/node_modules/body/form.js
blob: 5cb4438a0f1bc75804b53d961a8d24a3ed37527f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
var querystringParse = require("querystring").parse

var body = require("./index.js")
var parseArguments = require("./parse-arguments.js")

module.exports = formBody

function formBody(req, res, opts, callback) {
    var args = parseArguments(req, res, opts, callback)
    req = args.req
    res = args.res
    opts = args.opts
    callback = args.callback

    if (!callback) {
        return formBody.bind(null, req, res, opts)
    }

    var parse = opts.querystring ?
        opts.querystring.parse : defaultQueryStringParse

    body(req, res, opts, function (err, body) {
        if (err) {
            return callback(err)
        }

        parse(body, callback)
    })
}

function defaultQueryStringParse(str, callback) {
    callback(null, querystringParse(str))
}