UNPKG

pusher-js

Version:

Pusher Channels JavaScript library for browsers, React Native, NodeJS and web workers

48 lines (42 loc) 1.4 kB
import Defaults from '../defaults'; import { default as URLScheme, URLSchemeParams } from './url_scheme'; function getGenericURL( baseScheme: string, params: URLSchemeParams, path: string ): string { var scheme = baseScheme + (params.useTLS ? 's' : ''); var host = params.useTLS ? params.hostTLS : params.hostNonTLS; return scheme + '://' + host + path; } function getGenericPath(key: string, queryString?: string): string { var path = '/app/' + key; var query = '?protocol=' + Defaults.PROTOCOL + '&client=js' + '&version=' + Defaults.VERSION + (queryString ? '&' + queryString : ''); return path + query; } export var ws: URLScheme = { getInitial: function(key: string, params: URLSchemeParams): string { var path = (params.httpPath || '') + getGenericPath(key, 'flash=false'); return getGenericURL('ws', params, path); } }; export var http: URLScheme = { getInitial: function(key: string, params: URLSchemeParams): string { var path = (params.httpPath || '/pusher') + getGenericPath(key); return getGenericURL('http', params, path); } }; export var sockjs: URLScheme = { getInitial: function(key: string, params: URLSchemeParams): string { return getGenericURL('http', params, params.httpPath || '/pusher'); }, getPath: function(key: string, params: URLSchemeParams): string { return getGenericPath(key); } };