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

box-view

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

box-view - npm Package Compare versions

Comparing version 1.0.1 to 1.1.0

97

index.js

@@ -111,13 +111,45 @@ 'use strict';

/**
* Create an error object from the response and call the callback function
* @param {Object} body The parsed response body (or null if not yet parsed)
* @param {Response} response The HTTP response object
* @param {Function} callback Function to call with the resulting error object
* @returns {void}
*/
function handleError(body, response, callback) {
var error;
if (!body) {
response.pipe(concat(function (body) {
body = parseJSONBody(body);
error = body.message || statusText(response.statusCode);
callback(new Error(error), body, response);
}));
} else {
error = body.message || statusText(response.statusCode);
callback(new Error(error), body, response);
}
}
/**
* Return an http response handler for API calls
* @param {Function} callback The callback method to call
* @param {Array} okStatusCodes (optional) HTTP status codes to use as OK (default: [200])
* @param {Boolean} noBuffer (optional) If true, the response will not be buffered and JSON parsed (unless error), default: false
* @param {Function} retryFn (optional) If defined, function to call when receiving a Retry-After header
* @returns {Function} The response handler
*/
function createResponseHandler(callback, okStatusCodes, retryFn) {
function createResponseHandler(callback, okStatusCodes, noBuffer, retryFn) {
if (typeof callback !== 'function') {
callback = function () {};
}
if (typeof okStatusCodes === 'function') {
retryFn = okStatusCodes;
okStatusCodes = null;
noBuffer = retryFn;
}
if (typeof noBuffer === 'function') {
retryFn = noBuffer;
noBuffer = false;
}
okStatusCodes = okStatusCodes || [200];

@@ -144,3 +176,3 @@

// the handler expects a parsed response body
if (callback.length === 3 && typeof body === 'undefined') {
if (noBuffer !== true && typeof body === 'undefined') {
response.pipe(concat(function (body) {

@@ -154,3 +186,7 @@ handleResponse(response, parseJSONBody(body));

if (!retry(response)) {
callback(null, response, body);
if (noBuffer) {
callback(null, response);
} else {
callback(null, body, response);
}
}

@@ -163,12 +199,4 @@ } else {

}
if (!body) {
response.pipe(concat(function (body) {
error = parseJSONBody(body);
error = error.message || statusText(response.statusCode);
callback(new Error(error), response, error);
}));
} else {
error = body.message || statusText(response.statusCode);
callback(new Error(error), response, body);
}
handleError(body, response, callback);
}

@@ -187,30 +215,2 @@ }

/**
* Create a callback function that expects a buffered response
* @param {Function} fn The callback function
* @returns {Function}
*/
function createBufferedCallback(fn) {
if (typeof fn === 'function') {
return function (err, res, body) {
fn(err, body, res);
};
}
return function () {};
}
/**
* Create a callback function that explicitly expects a non-buffered response
* @param {Function} fn The callback function
* @returns {Function}
*/
function createCallback(fn) {
if (typeof fn === 'function') {
return function (err, res) {
fn(err, res);
};
}
return function () {};
}
/**
* The BoxView client constructor

@@ -278,3 +278,2 @@ * @param {String} key The API token

callback = createBufferedCallback(callback);
handler = createResponseHandler(callback, retry);

@@ -324,3 +323,2 @@

callback = createBufferedCallback(callback);
handler = createResponseHandler(callback, retry);

@@ -363,3 +361,2 @@

callback = createBufferedCallback(callback);
handler = createResponseHandler(callback, retry);

@@ -398,4 +395,3 @@

callback = createCallback(callback);
handler = createResponseHandler(callback, [204], retry);
handler = createResponseHandler(callback, [204], true, retry);

@@ -481,3 +477,2 @@ return req(client.documentsURL + '/' + id, { method: 'DELETE' }, handler);

callback = createBufferedCallback(callback);
handler = createResponseHandler(callback, [200, 202], retry);

@@ -547,3 +542,2 @@

callback = createBufferedCallback(callback);
handler = createResponseHandler(callback, [200, 202], retry);

@@ -593,4 +587,3 @@

callback = createCallback(callback);
handler = createResponseHandler(callback, [200, 202], retry);
handler = createResponseHandler(callback, [200, 202], true, retry);

@@ -635,4 +628,3 @@ url = client.documentsURL + '/' + id + '/content' + extension;

callback = createCallback(callback);
handler = createResponseHandler(callback, [200, 202], retry);
handler = createResponseHandler(callback, [200, 202], true, retry);

@@ -692,3 +684,2 @@ query = querystring.stringify(params);

callback = createBufferedCallback(callback);
handler = createResponseHandler(callback, [201, 202], retry);

@@ -695,0 +686,0 @@

{
"name": "box-view",
"version": "1.0.1",
"version": "1.1.0",
"description": "A node client for the Box View API",
"main": "index.js",
"scripts": {
"test": "node_modules/.bin/tape test/box-view-test.js"
"test": "node_modules/.bin/tape test/box-view-test.js",
"api-test": "node_modules/.bin/tape test/api-test.js"
},

@@ -9,0 +10,0 @@ "browser": {

@@ -103,3 +103,4 @@ [![Build Status](https://travis-ci.org/lakenen/node-box-view.png?branch=master)](https://travis-ci.org/lakenen/node-box-view)

* an error object or `null`
* the http response object
* JSON-parsed body if error
* the http response object if error

@@ -155,3 +156,4 @@ #### uploadFile

* an error object or `null`
* the http response object
* the http response object (or JSON-parsed body if error)
* the http response object if error

@@ -184,3 +186,4 @@ Example:

* an error object or `null`
* the http response object
* the http response object (or JSON-parsed body if error)
* the http response object if error

@@ -187,0 +190,0 @@ Example:

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