koa-short-body

    1.1.0 • Public • Published

    npm mit license build status coverage status deps status

    More short API for koa-better-body.

    A koa body parser middleware with support for multipart, json, csp-report and urlencoded request bodies. Via formidable and co-better-body. It's fork of koa-better-body

    Install

    npm i --save koa-short-body
    npm test
    

    Usage

    For more use-cases see the tests or examples folder.

    Extending default types

    Every new defined type, will be appended to defaults, see defaults

    app.use(koaBody({
      extendTypes: {
        // will parse application/x-javascript type body as a JSON string
        json: ['application/x-javascript'],
        multipart: ['multipart/mixed']
      }
    }));

    will expects request bodies

    application/json
    application/json-patch+json
    application/vnd.api+json
    application/csp-report
    application/x-javascript
     
    application/x-www-form-urlencoded
     
    multipart/form-data
    multipart/mixed

    get field or file via this

    app.use(function * (next) {
        // Get specify fields
        console.log(this.field("field_name"));
     
        // Get received all fields.
        console.log(this.field());
     
        // Get specify fields file (it's must be returns Array<File>)
        console.log(this.file("file"));
     
        // Get all received files
        console.log(this.file());
    })

    .koaBetterBody

    However, koa-short-body have few custom options, see also co-better-body, raw-body and formidable

    • [options] {Object}
      • jsonLimit {String|Number} The byte limit of the JSON body, default 1mb
      • formLimit {String|Number} The byte limit of the form body, default 56kb
      • encoding {String} Sets encoding for incoming form fields, default utf-8
      • encode {String} alias of opts.encoding
      • multipart {Boolean} Support multipart/form-data request bodies, default false
      • extendTypes {Object} extending request types, see defaults
        • multipart {Array} array with multipart types, default ['multipart/form-data']
        • json {Array} array with json types, default ['application/x-www-form-urlencoded']
        • form {Array} array with form types
      • qs {Object} Options that are passing to qs
      • formidable {Object} Options that are passing to formidable
    • return {GeneratorFunction} That you can use with koa or co

    formidable options

    See node-formidable for a full list of options

    • bytesExpected {Integer} The expected number of bytes in this form, default null
    • maxFields {Integer} Limits the number of fields that the querystring parser will decode, default 1000
    • maxFieldsSize {Integer} Limits the amount of memory a field can allocate in bytes, default 2mb
    • uploadDir {String} Sets the directory for placing file uploads in, default os.tmpDir()
    • hash {String} If you want checksums calculated for incoming files - 'sha1' or 'md5', default false
    • multiples {Boolean} Multiple file uploads or no, default false

    qs options

    See qs for a full list of options

    • depth {Integer} The parsed object maximum hierarchy depth, default 5
    • delimiter {String|Regex} The query string delimeter, default &
    • arrayLimit {Integer} Maximum array size or -1 to disable arrays, default 20

    Author

    Charlike Mike Reagent

    License MIT license

    Copyright (c) 2014-2015 Charlike Mike Reagent, contributors.
    Released under the MIT license.


    Powered and automated by kdf, February 6, 2015

    Install

    npm i koa-short-body

    DownloadsWeekly Downloads

    3

    Version

    1.1.0

    License

    MIT

    Last publish

    Collaborators

    • ragg