![]() 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/dceprojects.corals.io/node_modules/laravel-echo/src/connector/ |
import { Channel, PresenceChannel } from './../channel'; export abstract class Connector { /** * Default connector options. */ private _defaultOptions: any = { auth: { headers: {}, }, authEndpoint: '/broadcasting/auth', broadcaster: 'pusher', csrfToken: null, host: null, key: null, namespace: 'App.Events', }; /** * Connector options. */ options: any; /** * Create a new class instance. */ constructor(options: any) { this.setOptions(options); this.connect(); } /** * Merge the custom options with the defaults. */ protected setOptions(options: any): any { this.options = Object.assign(this._defaultOptions, options); if (this.csrfToken()) { this.options.auth.headers['X-CSRF-TOKEN'] = this.csrfToken(); } return options; } /** * Extract the CSRF token from the page. */ protected csrfToken(): null | string { let selector; if (typeof window !== 'undefined' && window['Laravel'] && window['Laravel'].csrfToken) { return window['Laravel'].csrfToken; } else if (this.options.csrfToken) { return this.options.csrfToken; } else if ( typeof document !== 'undefined' && typeof document.querySelector === 'function' && (selector = document.querySelector('meta[name="csrf-token"]')) ) { return selector.getAttribute('content'); } return null; } /** * Create a fresh connection. */ abstract connect(): void; /** * Get a channel instance by name. */ abstract channel(channel: string): Channel; /** * Get a private channel instance by name. */ abstract privateChannel(channel: string): Channel; /** * Get a presence channel instance by name. */ abstract presenceChannel(channel: string): PresenceChannel; /** * Leave the given channel, as well as its private and presence variants. */ abstract leave(channel: string): void; /** * Leave the given channel. */ abstract leaveChannel(channel: string): void; /** * Get the socket_id of the connection. */ abstract socketId(): string; /** * Disconnect from the Echo server. */ abstract disconnect(): void; }