UNPKG

castleio-sdk

Version:

The castle.io SDK for Node.js

35 lines (28 loc) 999 B
'use strict'; import Events from './events-compiled.js'; module.exports = function (castle, events = Events) { return function (request, response, next) { function injectClientData(data) { data.headers = request.headers || undefined; data.ip = request.ip || undefined; data.cookie = (request.cookies || {})['__cid'] || undefined; data.userAgent = (request.headers || {})['user-agent'] || ''; return data; } request.castleTrackEvent = function ({event, user_id, details}) { return castle.trackEvent(injectClientData({ event, user_id, details })); }; request.castleIdentify = function ({user_id, user_data}) { return castle.identify(injectClientData({ user_id, user_data })); }; request.castleEvents = events; next(); } };