A Fastly API client for Node.js
Installation
This repo is a fork of the one currently installed in NPM, so you'll need to to install it from the tagged tarball,
npm install https://github.com/commuterjoy/fastly/archive/v2.3.0.tar.gz
Basic Use
A simple use of the API looks like this,
var fastly = require('fastly')('your-api-key', 'your-service-id', { verbose: false });
fastly
.getVersions()
.then(function (res) {
var lastVersion = JSON.parse(res).pop().number;
console.log('Latest version number is ' + lastVersion);
})
.catch(function (err) {
throw new Error(err);
})
The API is promise-based, so methods can be chained together like so,
var fastly = require('fastly')('your-api-key', 'your-service-id', { verbose: false });
var Q = require('q');
var version;
fastly
.getVersions()
.then(function (res) {
// extract a version number
version = JSON.parse(res).pop().number;
return fastly.request('GET', '/service/'+service+'/version/'+version+'/vcl');
})
.then(function (res) {
return Q.all(
JSON.parse(res).map(function (vcl) {
return fastly.request('GET', '/service/'+service+'/version/'+version+'/vcl/'+vcl.name);
})
)
})
.then(function (res) {
// the VCLs
})
.catch(function (err) {
throw new Error(err);
})
Note in the above example you can control the verbosity of the fastly library
by passing { verbose: false }
as the last argument to the constructor.
Testing
npm test