Socket
Socket
Sign inDemoInstall

ebay-api

Package Overview
Dependencies
Maintainers
1
Versions
74
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ebay-api - npm Package Compare versions

Comparing version 1.10.1 to 1.11.0

3

lib/json-parser.js

@@ -318,4 +318,3 @@ /**

errors: errors,
details: _.clone(ack),
requestContext: _.omit(requestContext, _.functions(requestContext))
details: _.clone(ack)
};

@@ -322,0 +321,0 @@

@@ -81,2 +81,4 @@ var

note, `options` may be modified by ref.
@param {function} callback: gets response

@@ -103,3 +105,4 @@ */

var reqOptions = _.extend({}, {
// allow options to override default url (and body) if they want to.
options.reqOptions = _.extend({
url: buildRequestUrl(options),

@@ -109,6 +112,6 @@ body: buildXmlInput(options),

debug('XML request options', reqOptions);
debug('XML request options', options.reqOptions);
timer('time to initiate request', Date.now() - _startTime);
request.post(reqOptions, function(error, response) {
request.post(options.reqOptions, function(error, response) {

@@ -156,6 +159,14 @@ debug('response', error ? {error: error} : {statusCode: response.statusCode, body: response.body});

timer('time to parsed JSON', Date.now() - _startTime);
var extraErrorProps = {};
if (error) {
// as much context as possible for forensic debugging.
// (includes `serviceName`, `reqOptions`, etc; not functions.)
extraErrorProps.requestContext = _.omit(options, _.functions(options));
extraErrorProps.requestContext.response = _.pick(response, ['statusCode', 'body']);
if (/Ebay/i.test(error.name)) {
callback(error, data); // already differentiated
// already differentiated into custom error classes.
_.extend(error, extraErrorProps);
callback(error, data);
}

@@ -165,3 +176,4 @@ else {

// @review - is the original stack trace lost here?
callback(new EbayClientError("Error parsing JSON: " + error.message), data);
error = new EbayClientError("Error parsing JSON: " + error.message, extraErrorProps);
callback(error, data);
}

@@ -168,0 +180,0 @@ }

{
"name": "ebay-api",
"description": "eBay API Client",
"version": "1.10.1",
"version": "1.11.0",
"homepage": "https://github.com/benbuckman/nodejs-ebay-api",

@@ -6,0 +6,0 @@ "author": "Ben Buckman",

@@ -278,5 +278,12 @@ require('./helpers');

expect(err).to.have.property('errors').that.is.instanceof(Array);
expect(err).to.have.property('requestContext').that.have.property('serviceName', 'Trading');
expect(err).to.have.property('details');
expect(err).to.have.property('requestContext');
expect(err.requestContext).to.have.property('serviceName', 'Trading');
expect(err.requestContext).to.have.property('reqOptions');
expect(err.requestContext.reqOptions).to.have.property('body');
expect(err.requestContext.reqOptions).to.have.property('url');
expect(err.requestContext).to.have.property('response');
expect(err.requestContext.response).to.have.property('statusCode', 200);
expect(err.requestContext.response).to.have.property('body').that.match(/^<\?xml/);
expect(err.requestContext).not.to.have.property('parser'); // no functions
expect(err).to.have.property('details');
});

@@ -316,4 +323,12 @@

expect(err).to.have.property('errors').that.is.instanceof(Array);
expect(err).to.have.property('requestContext').that.have.property('serviceName', 'Trading');
expect(err).to.have.property('details');
expect(err).to.have.property('requestContext');
expect(err.requestContext).to.have.property('serviceName', 'Trading');
expect(err.requestContext).to.have.property('reqOptions');
expect(err.requestContext.reqOptions).to.have.property('body');
expect(err.requestContext.reqOptions).to.have.property('url');
expect(err.requestContext).to.have.property('response');
expect(err.requestContext.response).to.have.property('statusCode', 200);
expect(err.requestContext.response).to.have.property('body').that.match(/^<\?xml/);
expect(err.requestContext).not.to.have.property('parser'); // no functions
});

@@ -320,0 +335,0 @@

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