WebsocketdWS = require "./websocketd-ws.ls" a = WebsocketdWS "trackingd", "ws://localhost:9998/tracking.JSON" storage = window.local-storage request-types = { #client to server "get-token": 0 "session-init": 11 "action": 20 "url-action": 21 } response-types = { #server to client "error": 0 "default-id": 10 "action": 12 } for name, value of response-types a.register-response-type value, name a.on-default-id = (payload) -> console.log payload.default_id unless storage.get-item "visitor_id" storage.set-item "visitor_id", payload.default_id a.send request-types[\session-init], JSON.stringify { visitor_id: storage.get-item "visitor_id" user_agent: window.navigator.userAgent resolution_height: window.screen.availHeight resolution_width: window.screen.availWidth referrer: document.referrer } a.action = (action) -> a.send request-types[\action], JSON.stringify { action: action } a.urlaction = (urlaction) -> a.send request-types[\url-action], JSON.stringify { urlaction: urlaction } a.urlaction "blabla.com0" #a.action "blabla.com" a.on-error = (message) -> console.error "Error received: #{message.reason}"