Socket
Socket
Sign inDemoInstall

bent

Package Overview
Dependencies
8
Maintainers
1
Versions
66
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    bent

Functional HTTP client for Node.js w/ async/await.


Version published
Weekly downloads
272K
decreased by-35.14%
Maintainers
1
Install size
258 kB
Created
Weekly downloads
 

Readme

Source

bent

Functional HTTP client for Node.js w/ async/await.

Usage

const bent = require('bent')

const getJSON = bent('json')
const getBuffer = bent('buffer')

let obj = await getJSON('http://site.com/json.api')
let buffer = await getBuffer('http//site.com/image.png')

As you can see, bent is a function that returns an async function.

Bent takes options which constrain what is accepted by the client. Any response that falls outside the constraints will generate an error.

You can provide these options in any order, and Bent will figure out which option is which by inspecting the option's type and content.

const post = bent('http://localhost:3000/', 'POST', 'json', 200);
const response = await post('cars/new', {name: 'bmw', wheels: 4});

If you don't set a response encoding ('json', 'string' or 'buffer') then the response stream will be returned after the statusCode check.

const bent = require('bent')

const getStream = bent('http://site.com')

let stream = await getStream('/json.api')

The following options are available.

  • HTTP Method: 'GET', 'PUT', and any ALLCAPS string will be used to set the HTTP method. Defaults to 'GET'
  • Response Encoding: Available options are 'string', 'buffer', and 'json'. If no encoding is set, which is the default, the response object/stream will be returned instead of a decoded response.
  • Status Codes: Any number will be considered an acceptable status code. If none are provided 200 will be the only acceptable status code, but if status codes are provided 200 must be added explicitely.
  • Headers: An object can be passed to set request headers.
  • Base URL: Any string that begins with 'https:' or 'http:' is consider the Base URL. Subsequent queries need only pass the remaining URL string.

The returned async function is used for subsequent requests.

async request(url[, body=null])

  • url: Fully qualified URL to the remote resource, or in the case that a base URL is passed the remaining URL string.
  • body: Request body. Can be stream, buffer or JSON object.
const bent = require('bent')

const put = bent('PUT', 201)
await put('http://site.com/upload', Buffer.from('test'))

FAQs

Last updated on 01 May 2019

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc