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

appnexus-api

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

appnexus-api - npm Package Compare versions

Comparing version 0.0.3 to 0.0.4

test/system/limits.js

3

lib/appnexus-util.js
'use strict';
function responseContainsError(response, body) {

@@ -14,3 +15,3 @@ if (body && body.response && body.response.error_id) {

function wrapAppnexusError(body) {
var error = new Error(body && body.response && body.response.error || err);
var error = new Error(body && body.response && body.response.error);
error.error_id = body && body.response && body.response.error_id;

@@ -17,0 +18,0 @@ return error;

@@ -9,5 +9,2 @@ 'use strict';

RateLimiter = require('limiter').RateLimiter,
writeLimiter = new RateLimiter(60, 'second'),
readLimiter = new RateLimiter(100, 'second'),
authLimiter = new RateLimiter(10, 5 * 60 * 1000),
request = require('request').defaults({

@@ -46,2 +43,20 @@ json: true

}
if (!options.writeLimit) {
options.writeLimit = 60;
}
if (!options.readLimit) {
options.readLimit = 100;
}
if (!options.authLimit) {
options.authLimit = 10;
}
if (!options.writeLimitInterval) {
options.writeLimitInterval = 60;
}
if (!options.readLimitInterval) {
options.readLimitInterval = 60;
}
if (!options.authLimitInterval) {
options.authLimitInterval = 5 * 60;
}
events.EventEmitter.call(this);

@@ -51,2 +66,5 @@ this.endpoint = endpoint(options.endpoint);

this.password = options.password;
this.writeLimiter = new RateLimiter(options.writeLimit, options.writeLimitInterval * 1000);
this.readLimiter = new RateLimiter(options.readLimit, options.readLimitInterval * 1000);
this.authLimiter = new RateLimiter(options.authLimit, options.authLimitInterval * 1000);
}

@@ -77,6 +95,7 @@ util.inherits(Appnexus, events.EventEmitter);

var methodToChangeMap = {
'POST': 'Created',
'PUT': 'Updated',
'DELETE': 'Deleted'
}, typeOfChange = methodToChangeMap[method];
'POST': 'Created',
'PUT': 'Updated',
'DELETE': 'Deleted'
},
typeOfChange = methodToChangeMap[method];
if (typeOfChange) {

@@ -146,6 +165,6 @@ return type + typeOfChange;

}
readLimiter.removeTokens(1, function (err, remainingRequests) {
this.readLimiter.removeTokens(1, function (err, remainingRequests) {
if (err) {
this.emit('error', err);
return;
return;
}

@@ -156,3 +175,5 @@ self.query(type, id2options(id), callback);

Appnexus.prototype.create = function (type, id, data, callback) {
var json = {}, options = {}, self = this;
var json = {},
options = {},
self = this;
if (!data || typeof data === 'function') {

@@ -167,6 +188,6 @@ callback = data;

options.method = 'POST';
writeLimiter.removeTokens(1, function (err, remainingRequests) {
this.writeLimiter.removeTokens(1, function (err, remainingRequests) {
if (err) {
this.emit('error', err);
return;
return;
}

@@ -178,9 +199,10 @@ self.query(type, options, callback);

var options = id2options(id, {
json: true,
method: 'DELETE'
}), self = this;
writeLimiter.removeTokens(1, function (err, remainingRequests) {
json: true,
method: 'DELETE'
}),
self = this;
this.writeLimiter.removeTokens(1, function (err, remainingRequests) {
if (err) {
this.emit('error', err);
return;
return;
}

@@ -191,3 +213,4 @@ self.query(type, options, callback);

Appnexus.prototype.update = function (type, id, data, callback) {
var json = {}, options, self = this;
var json = {},
options, self = this;
json[type] = data;

@@ -201,6 +224,6 @@ options = id2options(id, {

// which requires both *code* and *member_id*
writeLimiter.removeTokens(1, function (err, remainingRequests) {
this.writeLimiter.removeTokens(1, function (err, remainingRequests) {
if (err) {
this.emit('error', err);
return;
return;
}

@@ -217,7 +240,8 @@ self.query(type, options, callback);

}
}, that = this;
authLimiter.removeTokens(1, function (err, remainingRequests) {
},
that = this;
this.authLimiter.removeTokens(1, function (err, remainingRequests) {
if (err) {
this.emit('error', err);
return;
return;
}

@@ -243,6 +267,24 @@ request.post({

};
Appnexus.prototype.limits = function (callback) {
this.query('advertiser', 0, function (error, ret) {
if (error) {
return callback(error)
}
var info = ret.response.dbg_info;
var limits = {
read_limit: info.read_limit || 100,
read_limit_seconds: info.read_limit_seconds || 60,
write_limit: info.write_limit || 60,
write_limit_seconds: info.write_limit_seconds || 60,
};
return callback(error, limits);
});
};
function create(options) {
return new Appnexus(options);
}
exports.create = create;
exports.create = create;
{
"name": "appnexus-api",
"version": "0.0.3",
"version": "0.0.4",
"description": "Appnexus client for node.js",

@@ -38,2 +38,2 @@ "main": "index.js",

}
}
}
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