Skip to content

tiaanduplessis/puny-req

Repository files navigation

📡 req

📡 Lightweight promise based HTTP(S) request library



Built with ❤︎ by Tiaan and contributors

Table of Contents

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

    Greenkeeper badge

    $ 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.

    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.

    About

    📡 Lightweight promise based HTTP(S) request library

    Topics

    Resources

    License

    Stars

    Watchers

    Forks

    Packages

    No packages published