Skip to content

Instantly share code, notes, and snippets.

@TheGreatRambler
Last active May 7, 2018 21:59
Show Gist options
  • Save TheGreatRambler/1c2d338d5d41ecdb155413549798688f to your computer and use it in GitHub Desktop.
Save TheGreatRambler/1c2d338d5d41ecdb155413549798688f to your computer and use it in GitHub Desktop.
Win quizlet live! Not working yet.
// wshook.js
var wsHook={};
(function(){function e(a){this.bubbles=a.bubbles||!1;this.cancelBubble=a.cancelBubble||!1;this.cancelable=a.cancelable||!1;this.currentTarget=a.currentTarget||null;this.data=a.data||null;this.defaultPrevented=a.defaultPrevented||!1;this.eventPhase=a.eventPhase||0;this.lastEventId=a.lastEventId||"";this.origin=a.origin||"";this.path=a.path||[];this.ports=a.parts||[];this.returnValue=a.returnValue||!0;this.source=a.source||null;this.srcElement=a.srcElement||null;this.target=a.target||null;this.timeStamp=
a.timeStamp||null;this.type=a.type||"message";this.__proto__=a.__proto__||MessageEvent.__proto__}var d=wsHook.before=function(a,c){return a},g=wsHook.after=function(a,c){return a};wsHook.resetHooks=function(){wsHook.before=d;wsHook.after=g};var f=WebSocket;WebSocket=function(a,c){this.url=a;var b=(this.protocols=c)?new f(a,c):new f(a);var d=b.send;b.send=function(a){arguments[0]=wsHook.before(a,b.url)||a;d.apply(this,arguments)};b._addEventListener=b.addEventListener;b.addEventListener=function(){var a=
this;"message"===arguments[0]&&(arguments[1]=function(c){return function(){arguments[0]=wsHook.after(new e(arguments[0]),b.url)||arguments[0];c.apply(a,arguments)}}(arguments[1]));return b._addEventListener.apply(this,arguments)};Object.defineProperty(b,"onmessage",{set:function(a){var c=this;b._addEventListener.apply(this,["message",function(){arguments[0]=wsHook.after(new e(arguments[0]),b.url)||arguments[0];a.apply(c,arguments)},!1])}});return b}})();
// the actual script
(function() {
wsHook.after = function(messageEvent, url) {
var data = new Uint8Array(messageEvent.data);
return messageEvent;
}
})();
// wshook.js
var wsHook={};
(function(){function e(a){this.bubbles=a.bubbles||!1;this.cancelBubble=a.cancelBubble||!1;this.cancelable=a.cancelable||!1;this.currentTarget=a.currentTarget||null;this.data=a.data||null;this.defaultPrevented=a.defaultPrevented||!1;this.eventPhase=a.eventPhase||0;this.lastEventId=a.lastEventId||"";this.origin=a.origin||"";this.path=a.path||[];this.ports=a.parts||[];this.returnValue=a.returnValue||!0;this.source=a.source||null;this.srcElement=a.srcElement||null;this.target=a.target||null;this.timeStamp=
a.timeStamp||null;this.type=a.type||"message";this.__proto__=a.__proto__||MessageEvent.__proto__}var d=wsHook.before=function(a,c){return a},g=wsHook.after=function(a,c){return a};wsHook.resetHooks=function(){wsHook.before=d;wsHook.after=g};var f=WebSocket;WebSocket=function(a,c){this.url=a;var b=(this.protocols=c)?new f(a,c):new f(a);var d=b.send;b.send=function(a){arguments[0]=wsHook.before(a,b.url)||a;d.apply(this,arguments)};b._addEventListener=b.addEventListener;b.addEventListener=function(){var a=
this;"message"===arguments[0]&&(arguments[1]=function(c){return function(){arguments[0]=wsHook.after(new e(arguments[0]),b.url)||arguments[0];c.apply(a,arguments)}}(arguments[1]));return b._addEventListener.apply(this,arguments)};Object.defineProperty(b,"onmessage",{set:function(a){var c=this;b._addEventListener.apply(this,["message",function(){arguments[0]=wsHook.after(new e(arguments[0]),b.url)||arguments[0];a.apply(c,arguments)},!1])}});return b}})();
// the actual script
(function() {
wsHook.after = function(messageEvent, url) {
console.log("Received message from " + url);
console.log(messageEvent.data);
return messageEvent;
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment