1.2.0 • Published 8 years ago
@financial-times/n-spoor-client v1.2.0
n-spoor-client
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.