Miss any of our Open RFC calls?Watch the recordings here! »

pcutils

2.0.1 • Public • Published

PetroCloud Utils (pcutils)


npm version Build Status Coverage Status


Some utility functions we use for several projects

Change Log

See the CHANGELOG.md for information on what's new and what changed.

Usage

Function httpRequest(options)

Executes an HTTP request.

  • options request options. See request options documentation
  • returns a Bluebird promise that is resolved with the request response object, unless options.returnBody is set to true, in that case, it resolves the promise with the body content.

In the case where the request returns an HTTP error (anything from 400 to 599 HTTP status code), it will reject the promise with an error object with err.message = IncomingMessage.statusMessage as it's message, and err.statusCode = IncomingMessage.statusCode. If options.returnBody is set to false, the err object returned is augmented with the response object.

Function postJSONObject(url, objToSend, timeout, returnBody=true)

Aliased to postJSON, too.

Sends a JSON object to and endpoint as an HTTP POST

  • url URL string of the endpoint
  • objToSend object to send
  • timeout integer containing the number of milliseconds to wait for a server to send response headers (and start the response body) before aborting the request. Note that if the underlying TCP connection cannot be established, the OS-wide TCP connection timeout will overrule the timeout option (the default in Linux can be anywhere from 20-120 seconds).
  • returnBody boolean that defaults to true. Instructs the function to return body if true, or the response object response if false.
  • returns a Bluebird promise that is resolved with the request response body, unless returnBody is set to false, in that case, it resolves the promise with the response object.

In the case where the request returns an HTTP error (anything from 400 to 599 HTTP status code), it will reject the promise with an error object with err.message = IncomingMessage.statusMessage as it's message, and err.statusCode = IncomingMessage.statusCode. If returnBody is set to false, the err object returned is augmented with the response object.

Function getJSON(url, timeout)

Get a JSON object from an endpoint as an HTTP GET

  • url URL string of the endpoint
  • timeout integer containing the number of milliseconds to wait for a server to send response headers (and start the response body) before aborting the request. Note that if the underlying TCP connection cannot be established, the OS-wide TCP connection timeout will overrule the timeout option (the default in Linux can be anywhere from 20-120 seconds).
  • returnBody boolean that defaults to true. Instructs the function to return body if true, or the response object response if false.
  • returns a Bluebird promise that is resolved with the request response body, unless returnBody is set to false, in that case, it resolves the promise with the response object.

In the case where the request returns an HTTP error (anything from 400 to 599 HTTP status code), it will reject the promise with an error object with err.message = IncomingMessage.statusMessage as it's message, and err.statusCode = IncomingMessage.statusCode. If returnBody is set to false, the err object returned is augmented with the response object.

promisifier(function)

Takes a function as a parameter and returns a promise that resolves when the function returns a value or rejects if an exception ocurrs

  • function is the function to promisify
  • returns a Bluebird promise with the result of the call to the function or an error if one is thrown

objectToString(object, showHidden, depth)

Takes an object or an array and returns the 'deep' representation of it.

  • object is the object subject to be converted
  • showHidden (defaults to false) makes the function show hidden attributes
  • depth (defaults to null, that is, infinite depth) tells how deep to go in the nesting chain, when converting the object as a string.
  • returns a String that resembles the object, based on the parameters passed

License

MIT © 2014-2016 Petrocloud

This module is free and open-source under the MIT License.

Install

npm i pcutils

DownloadsWeekly Downloads

23

Version

2.0.1

License

MIT

Last publish

Collaborators

  • avatar