Skip to content

NetAccessCorp/superagent-hawk

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 97.8%
  • Makefile 2.2%