Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

koa-short-body

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

koa-short-body

More short API for koa-better-body.

latest
Source
npmnpm
Version
1.1.0
Version published
Maintainers
1
Created
Source

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

Keywords

api

FAQs

Package last updated on 12 Jan 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts