Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
superagent with hawk
JavaScript Makefile
Branch: master

Merge pull request #6 from NetAccessCorp/master

Fix TypeError when a network error occurs
latest commit 6774258672
@joaojeronimo joaojeronimo authored
Failed to load latest commit information.
lib first commit
tests fix bug in arguments passing
.gitignore first commit
Makefile first commit
Readme.md document new feature
component.json made a mess
index.js fix TypeError when a network error occurs
package.json bump

Readme.md

superagent-hawk

Extends superagent or supertest with hawk:

var superagent = require('superagent');
var addHawk = require('superagent-hawk');
var request = addHawk(superagent);

request
  .get('http://things.com')
  .hawk(credential)
  .end(function (res) {
    console.log('yay:', res.body);
  });

Installation

Install with component:

$ component install CrowdProcess/superagent-hawk

And with npm:

$ npm install superagent-hawk

API

The normal superagent things, plus hawk:

var superagent = require('superagent');
var addHawk = require('superagent-hawk');
var request = addHawk(superagent);

var credential = {
  "id": "50e17602-f044-41cb-8e5f-ae634cc15fb0",
  "key": "I2Yiq3UGAUR6Oztnv/3JJK6T0clmGTX14d/TJ1qNKio=",
  "algorithm": "sha256"
};

var options = { // look at https://github.com/hueniverse/hawk/blob/master/lib/browser.js#L26
  localtimeOffsetMsec: 500
};

request
  .get('http://resource.com')
  .hawk(credential, options) // options is, well, optional
  .end(function (res) {
    console.log(res.body);
  });

and bewit:

var superagent = require('superagent');
var addHawk = require('superagent-hawk');
var request = addHawk(superagent);

var bewit = "ZDA1Mzg4Y2UtMGRmYi00NWFlLThlODMtY2Q2MmJlZGE0MDNlXDEzNzM0Njc3NDNcNnJyUjA3QWdOQkVWVHlENCsxOFZTZ2M1OERqWmxrc3VzVHZoOUpLM0JzQT1c";

request
  .get('http://resource.com')
  .bewit(bewit)
  .end(function (res) {
    console.log(res.body);
  });

Verify server response signatures (optional)

var options = {
  localtimeOffsetMsec: 500,
  verifyResponse: true
};

var credential = {
  "id": "50e17602-f044-41cb-8e5f-ae634cc15fb0",
  "key": "I2Yiq3UGAUR6Oztnv/3JJK6T0clmGTX14d/TJ1qNKio=",
  "algorithm": "sha256"
};

request
  .get('http://resource.com')
  .hawk(credential, options) // options is, well, optional
  .end(function (res) {
    if (res.error) {
      console.log('Server response verification has failed');
    }
    console.log(res.body);
  });

License

MIT

Something went wrong with that request. Please try again.