![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/ts.corals.io/frontend/node_modules/pusher-js/src/runtimes/web/ |
import Browser from './browser'; import { Dependencies, DependenciesReceivers } from './dom/dependencies'; import { AuthTransport, AuthTransports } from 'core/auth/auth_transports'; import xhrAuth from 'isomorphic/auth/xhr_auth'; import jsonpAuth from './auth/jsonp_auth'; import TimelineTransport from 'core/timeline/timeline_transport'; import TimelineSender from 'core/timeline/timeline_sender'; import ScriptRequest from './dom/script_request'; import JSONPRequest from './dom/jsonp_request'; import * as Collections from 'core/utils/collections'; import { ScriptReceivers } from './dom/script_receiver_factory'; import jsonpTimeline from './timeline/jsonp_timeline'; import Transports from './transports/transports'; import Ajax from 'core/http/ajax'; import { Network } from './net_info'; import getDefaultStrategy from './default_strategy'; import transportConnectionInitializer from './transports/transport_connection_initializer'; import HTTPFactory from './http/http'; import HTTPRequest from 'core/http/http_request'; var Runtime: Browser = { // for jsonp auth nextAuthCallbackID: 1, auth_callbacks: {}, ScriptReceivers, DependenciesReceivers, getDefaultStrategy, Transports, transportConnectionInitializer, HTTPFactory, TimelineTransport: jsonpTimeline, getXHRAPI() { return window.XMLHttpRequest; }, getWebSocketAPI() { return window.WebSocket || window.MozWebSocket; }, setup(PusherClass): void { (<any>window).Pusher = PusherClass; // JSONp requires Pusher to be in the global scope. var initializeOnDocumentBody = () => { this.onDocumentBody(PusherClass.ready); }; if (!(<any>window).JSON) { Dependencies.load('json2', {}, initializeOnDocumentBody); } else { initializeOnDocumentBody(); } }, getDocument(): Document { return document; }, getProtocol(): string { return this.getDocument().location.protocol; }, getAuthorizers(): AuthTransports { return { ajax: xhrAuth, jsonp: jsonpAuth }; }, onDocumentBody(callback: Function) { if (document.body) { callback(); } else { setTimeout(() => { this.onDocumentBody(callback); }, 0); } }, createJSONPRequest(url: string, data: any): JSONPRequest { return new JSONPRequest(url, data); }, createScriptRequest(src: string): ScriptRequest { return new ScriptRequest(src); }, getLocalStorage() { try { return window.localStorage; } catch (e) { return undefined; } }, createXHR(): Ajax { if (this.getXHRAPI()) { return this.createXMLHttpRequest(); } else { return this.createMicrosoftXHR(); } }, createXMLHttpRequest(): Ajax { var Constructor = this.getXHRAPI(); return new Constructor(); }, createMicrosoftXHR(): Ajax { return new ActiveXObject('Microsoft.XMLHTTP'); }, getNetwork() { return Network; }, createWebSocket(url: string): any { var Constructor = this.getWebSocketAPI(); return new Constructor(url); }, createSocketRequest(method: string, url: string): HTTPRequest { if (this.isXHRSupported()) { return this.HTTPFactory.createXHR(method, url); } else if (this.isXDRSupported(url.indexOf('https:') === 0)) { return this.HTTPFactory.createXDR(method, url); } else { throw 'Cross-origin HTTP requests are not supported'; } }, isXHRSupported(): boolean { var Constructor = this.getXHRAPI(); return ( Boolean(Constructor) && new Constructor().withCredentials !== undefined ); }, isXDRSupported(useTLS?: boolean): boolean { var protocol = useTLS ? 'https:' : 'http:'; var documentProtocol = this.getProtocol(); return ( Boolean(<any>window['XDomainRequest']) && documentProtocol === protocol ); }, addUnloadListener(listener: any) { if (window.addEventListener !== undefined) { window.addEventListener('unload', listener, false); } else if (window.attachEvent !== undefined) { window.attachEvent('onunload', listener); } }, removeUnloadListener(listener: any) { if (window.addEventListener !== undefined) { window.removeEventListener('unload', listener, false); } else if (window.detachEvent !== undefined) { window.detachEvent('onunload', listener); } }, randomInt(max: number): number { /** * Return values in the range of [0, 1[ */ const random = function() { const crypto = window.crypto || window['msCrypto']; const random = crypto.getRandomValues(new Uint32Array(1))[0]; return random / 2 ** 32; }; return Math.floor(random() * max); } }; export default Runtime;