puny-req

1.0.2 • Public • Published

Table of Contents

Tiny and lightweight promise based HTTP(S) request library (70 sloc)



Built with ❤︎ by Tiaan and contributors

Table of Contents

Table of Contents
  • Install
  • Usage
  • API
  • CLI
  • Contribute
  • License
  • Install

    $ npm install --save puny-req
    # OR 
    $ yarn add puny-req

    Usage

    const req = require('puny-req')
     
    // GET request
    req('https://jsonplaceholder.typicode.com/posts/1').then((res) => {
      console.log(res.headers, res.body)
    }).catch(console.log)
     
    // POST request
    req({
      url: 'https://jsonplaceholder.typicode.com/posts',
      json: {
        title: 'Hi', body: 'Friend', userId: 1
      }
    }).then((res) => {
      console.log(res.headers, res.body)
    }).catch(console.log)
     

    API

    Module exports a single function that returns a promise. It accepts a url string as argument for simple GET requests or an object with the following options:

    {
      url: String, // (Required)
      port: Int, // Port of request. Defaults to 80 or 443 depending on protocol
      headers :Object, // Headers associated with request. If form or json property provided, correct headers will be added
      method: String, // Method of request, Defaults to GET or POST if form or json property provided
      auth: String, // Authorization in 'user:password' format
      encoding: String // Encoding defaulted to UTF-8
      form: Object || String, // form data to POST
      json: Object // Object to POST,
    }

    The promise resolves with the response object. The body is parsed to a object if possible.

    CLI

    The CLI is currently a work in progress.

    Contribute

    Contributions are welcome. Please open up an issue or create PR if you would like to help out.

    Note: If editing the README, please conform to the standard-readme specification.

    License

    Licensed under the MIT License.

    Dependents (2)

    Package Sidebar

    Install

    npm i puny-req

    Weekly Downloads

    6

    Version

    1.0.2

    License

    MIT

    Last publish

    Collaborators

    • tiaanduplessis