@financial-times/n-spoor-client

Javascript client for the Spoor API

please use @financial-times/spoor-client instead
Last updated 4 years ago by financial-times .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @financial-times/n-spoor-client 
SYNC missed versions from official npm registry.

n-spoor-client Build Status

Node client to send events to Spoor

npm install -S @financial-times/n-spoor-client

Usage

import SpoorClient from '@financial-times/n-spoor-client';

function expressRoute(req, res) {
  const spoor = new SpoorClient({req});
  spoor.submit({
    category: 'foo-bar',
    action: 'baz',
    context: {
      quux: 'frob'
    }
  }).then(
    () => console.log('event successfully logged'),
    ({payload, status, request}) => console.log(`submission failed, status ${status}`)
  );
}

API

new SpoorClient(options)

Initialize a Spoor client with options:

Option Description
source String to tell Spoor where the event came from. Required in constructor or submit.
category String for Spoor event categorisation. Required in constructor or submit.
req The default Express request for all events. You must set either req or both cookies and ua either in constructor or submit.
cookies Optional explicit Cookie HTTP header. Defaults to req.get('ft-cookie-original').
ua Optional explicit User-Agent HTTP header. Defaults to req.get('user-agent').
product String for Spoor context.product. Defaults to "next".
apiKey Defaults to process.env.SPOOR_API_KEY
submitIf Boolean. If false, the client will not submit events.
inTestMode Boolean. Sets a context flag to tell Spoor the event is a test event.

client.submit(event)

Send an event to Spoor. Returns a promise which resolves when the event is successfully sent to Spoor, or rejects with a status object when submission fails. The event should be an object with keys:

Option Description
source String to tell Spoor where the event came from. Required in constructor or submit.
category String for Spoor event categorisation. Required in constructor or submit.
req The default Express request for all events. You must set either req or both cookies and ua either in constructor or submit.
cookies Optional explicit Cookie HTTP header. Defaults to req.get('ft-cookie-original').
ua Optional explicit User-Agent HTTP header. Defaults to req.get('user-agent').
action String name of the event action.
context Object containing metadata pertaining to the event. Required.
apiKey Defaults to process.env.SPOOR_API_KEY
product String for Spoor context.product. Defaults to the SpoorClient constructor product value, which in turn defaults to "next".

Originally part of next-signup.

Current Tags

  • 1.2.0                                ...           latest (4 years ago)

4 Versions

  • 1.2.0 [deprecated]           ...           4 years ago
  • 1.1.0 [deprecated]           ...           4 years ago
  • 1.0.1 [deprecated]           ...           4 years ago
  • 1.0.0 [deprecated]           ...           4 years ago

Copyright 2014 - 2017 © taobao.org |