0.1.0 • Published 3 years ago

form-data-body v0.1.0

Weekly downloads
100
License
MIT
Repository
github
Last release
3 years ago

form-data-body

npm package version Travis build status npm package downloads code style license

A tiny, dependency-free node module for generating a form's multipart/form-data body for a POST request.

This is meant to be a simple, no frills module for generating a string to send as the body for a POST request simulating a form submission. If you need something with more bells and whistles, check out the form-data module.

Installation

npm install --save form-data-body

Usage

const formDataBody = require('form-data-body')

// Specify form fields
const fields = {
  name: 'My test post',
  description: 'This is just a test post',
  items: ['First Item', 'Second Item'],

  // Files should be an object with the name, type, and data set to strings
  image: {
    name: 'hello.jpg',
    type: 'image/jpeg',
    data: binaryImageData
  }
}

const boundary = formDataBody.generateBoundary()
const header = {
  'Content-Type': `multipart/form-data; boundary=${boundary}`
}
const body = formDataBody(fields, boundary)

Example Response

----------------------------071517909670537006900435
Content-Disposition: form-data; name="name"

My test post
----------------------------071517909670537006900435
Content-Disposition: form-data; name="description"

This is just a test post
----------------------------071517909670537006900435
Content-Disposition: form-data; name="items[]"

First Item
----------------------------071517909670537006900435
Content-Disposition: form-data; name="items[]"

Second Item
----------------------------071517909670537006900435
Content-Disposition: form-data; name="image"; filename="hello.jpg"
Content-Type: image/jpeg

[BINARY IMAGE DATA]
----------------------------071517909670537006900435--

License

MIT. See the LICENSE file for more info.