Handshaking is the client library for handshake. It parsers the handshake responses from the server using a similar API.
The module was designed to be used with browserify or node.js and is therefor released in the public npm registry. You can install it using:
npm install --save handshaking
In all the examples we assume that you've already required and setup the Handshaking instance using:
'use strict';
var Handshaking = require('handshaking');
To construct a new Handshaking
instance we need two things:
- A context/scope/this value for all the callbacks that we execute. Which is required but can be set to null, undefined or whatever.
- Options for further configuring the Handshaking.
So for the optional options, you can supply the following properties:
prefix
The prefix we should use for storing data in cookie/session/store. Defaults tounshift
.store
Store which we will use to save the received session id in. Should follow thesessionStore
DOM API. Defaults to thesessionstore
module.parse
Initial response parser. Defaults toquerystringify.parse
For our examples we just assume it has been setup as following:
var handshaking = new Handshaking();
The set method allows you to assign new parsers for properties of the handshake object. The method requires 2 arguments:
key
The name of the property who's value we should parse.parser
The actual parser function which will receive the value.
handshaking
.set('version', Number)
.set('enabled', Boolean)
.set('custom', function parser(value) {
return value.split(';');
});
Parse the received handshake data. This method requires 2 arguments:
data
The data that is received during handshaking.fn
Completion function for when all data is parsed. This function should follow an error first callback pattern. When an error is received, the assumption should be made that the handshake has failed.
handshaking.parse('foo=bar&bar=1', function (err, data) {
console.log(data.foo);
});
Destroy the created handshaking instance. This releases all internal references so it can be reclaimed by the garbage collector.
handshaking.destroy();
MIT