MaxCDN API for Node.js
<iframe src="http://jmervine.github.io/npm-downloads-badge/badge.html?module=maxcdn&name=false" allowtransparency="true" frameborder="0" scrolling="0" width="125" height="20" style="vertical-align: bottom"></iframe>
Note: Unit tests have been run agaist both Node.js v0.12.0 and io.js v1.1.0, in addtion to standard Node.js 0.10.x version, all passed.
$ npm install maxcdn
var MaxCDN = require('maxcdn');
var maxcdn = new MaxCDN('COMPANY_ALIAS', 'CONSUMER_KEY', 'CONSUMER_SECRET');
maxcdn.get('reports/stats.json/daily', function(err, results) {
if (err) {
console.trace(err);
return;
}
console.dir(results);
});
var updates = {
street1: '555 Some St.',
street2: 'Suite #1'
};
maxcdn.put('account.json/address', updates, function(err, results) {
if (err) {
console.trace(err);
return;
}
console.dir(results);
});
maxcdn.post('zones/pull.json', { name: 'testname', url: 'http://www.example.com' }, function(err, results) {
if (err) {
console.trace(err);
return;
}
console.dir(results);
});
Has alias of
maxcdn.delete
.
var zoneId = '121212';
// full cache
maxcdn.del('zones/pull.json/'+zoneId+'/cache', function(err, results) {
if (err) {
console.trace(err);
return;
}
if (results.code === 200) {
console.log('SUCCESS!');
}
});
// specific files
var files = { files: [ '/master.css', '/another.css' ] };
maxcdn.del('zones/pull.json/'+zoneId+'/cache', files, function(err, results) {
if (err) {
console.trace(err);
return;
}
if (results[0].code === 200) {
console.log('SUCCESS: %s', files.files[0]);
}
if (results[1].code === 200) {
console.log('SUCCESS: %s', files.files[1]);
}
});
$ make setup test
$ ALIAS=alias KEY=key SECRET=secret make setup int
Troubleshooting:
Ensure that you
ALIAS
,KEY
andSECRET
values are correct and that you're running integration on a host with a whitelisted IP address.