New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

form-auto-content

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

form-auto-content

Build a form without headache

  • 2.2.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
5.7K
decreased by-7.3%
Maintainers
1
Weekly downloads
 
Created
Source

form-auto-content

Build Status JavaScript Style Guide

Build a form payload without caring if it should be application/x-www-form-urlencoded or multipart/form-data

Install

npm install form-auto-content

Usage

This module will transform your JSON to a payload ready to submit to an HTTP server! The autosense feature will check if there is a stream or a buffer as input and it will act accordingly returning a multipart/form-data stream; otherwise it will create a x-www-form-urlencoded string.

The module return a JSON like this:

{
  payload: Stream, // the data Stream
  headers: {} // a JSON with the `content-type` field set
}

x-www-form-urlencoded

const formAutoContent = require('form-auto-content')

const myForm = formAutoContent({
  field1: 'value1',
  field2: ['value2', 'value2.2'] // array are supported too!!
})

myForm.payload // Stream of the string in application/x-www-form-urlencoded format
myForm.headers // JSON with the `content-type` field set

multipart/form-data

const formAutoContent = require('form-auto-content')

const myForm = formAutoContent({
  field1: 'value1',
  field2: ['value2', 'value2.2'], // array are supported too!!
  myFile: fs.createReadStream('the-file.xml'),
  multipleFiles: [fs.createReadStream('file1.xml'), fs.createReadStream('file2.xml')],
  wowBuffer: Buffer.from('a long string'),

  // the file options are supported too:
  myRenamedFile: {
    value: fs.createReadStream('./foo.md'),
    options: {
      filename: 'bar.md',
      contentType: 'text/markdown'
    }
  },
  // also in arrays!
  renamedArray: [
    {
      value: fs.createReadStream('./one.json'),
      options: { filename: 'foo.json' }
    },
    {
      value: fs.createReadStream('./two.json'),
      options: { filename: 'bar.json' }
    }
  ]
})

myForm.payload // Stream in multipart/form-data format
myForm.headers // JSON with the `content-type` field set to multipart/form-data

Options

To customize the output field names, add an extra option object with the payload and headers string!

const formAutoContent = require('form-auto-content')

const option = { payload: 'body', headers: 'head' }
const myCustomForm = formAutoContent({
  field1: 'value1',
  field2: ['value2', 'value2.2'] // array are supported too!!
}, option)

myForm.body // Stream of the string in application/x-www-form-urlencoded format
myForm.head // JSON with the `content-type` field set

License

Licensed under MIT.

Keywords

FAQs

Package last updated on 05 Oct 2022

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc