UNPKG

actionhero

Version:

actionhero.js is a multi-transport API Server with integrated cluster capabilities and delayed tasks

78 lines (70 loc) 2.66 kB
<html> <head> <script src="/public/javascript/actionheroClient.min.js"></script> <script type="text/javascript"> ////////// // MAIN // ////////// function main(){ // start with no sesionId deleteAllCookies(); // make any api call to get a new sessionId actionWeb({action: 'status'}, function(error, data){ var cookieSessionId = document.cookie.split(";")[0].split('=')[1]; console.log("cookie sessionId: " + cookieSessionId); console.log("Web sessionId: " + data.requesterInformation.id); console.log("Web fingerprint: " + data.requesterInformation.fingerprint); // start the websocket client client = new ActionheroClient; client.connect(function(error, details){ console.log("WebSocket cleintId: " + client.id); console.log("WebSocket fingerprint: " + client.fingerprint); // There should be a 3-way match console.log(data.requesterInformation.fingerprint === cookieSessionId && client.fingerprint === cookieSessionId) }); }); } ///////////// // HELPERS // ///////////// var url = window.location.origin + '/api' var deleteAllCookies = function(){ // http://stackoverflow.com/questions/179355/clearing-all-cookies-with-javascript var cookies = document.cookie.split(";"); for (var i = 0; i < cookies.length; i++) { var cookie = cookies[i]; var eqPos = cookie.indexOf("="); var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie; document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT"; } } var actionWeb = function(params, callback){ // dupliace of actionheroClient.actionWeb, but listed here for simplicity var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function(){ if(xmlhttp.readyState == 4){ if(xmlhttp.status == 200){ var response = JSON.parse(xmlhttp.responseText); callback(null, response); }else{ callback(xmlhttp.statusText, xmlhttp.responseText); } } } var qs = "?" for(var i in params){ qs += i + "=" + params[i] + "&"; } var method = 'GET'; if(params.httpMethod != null){ method = params.httpMethod; } xmlhttp.open(method, url + qs, true); xmlhttp.send(); } </script> </head> <body onload="main()"> <p>Videw the console for details</p> </body> </html>