Fastly API client for Node.js
JavaScript
Clone or download
Pull request Compare This branch is 23 commits ahead, 31 commits behind thisandagain:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test/unit
.gitignore
.jshintrc
.travis.yml
CHANGES.md
LICENSE.md
README.md
makefile
package.json

README.md

A Fastly API client for Node.js

Build Status

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