pingerchips-js 1.0.1-a → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. package/README.md +53 -655
  2. package/index.js +169 -0
  3. package/package.json +20 -59
  4. package/.editorconfig +0 -14
  5. package/.github/ISSUE_TEMPLATE.md +0 -11
  6. package/.github/PULL_REQUEST_TEMPLATE.md +0 -14
  7. package/.github/dependabot.yml +0 -14
  8. package/.github/stale.yml +0 -26
  9. package/.github/workflows/release.yml +0 -112
  10. package/.github/workflows/release_pr.yml +0 -43
  11. package/.github/workflows/run-tests.yml +0 -62
  12. package/.gitmodules +0 -3
  13. package/.prettierrc +0 -2
  14. package/CHANGELOG.md +0 -924
  15. package/LICENCE +0 -19
  16. package/Makefile +0 -78
  17. package/bower.json +0 -28
  18. package/dist/node/pingerchips.js +0 -10870
  19. package/dist/node/pingerchips.js.map +0 -1
  20. package/dist/node/pusher.js +0 -10870
  21. package/dist/node/pusher.js.map +0 -1
  22. package/dist/react-native/pingerchips.js +0 -9
  23. package/dist/react-native/pingerchips.js.map +0 -1
  24. package/dist/react-native/pusher.js +0 -9
  25. package/dist/react-native/pusher.js.map +0 -1
  26. package/dist/web/json2.js +0 -486
  27. package/dist/web/json2.min.js +0 -1
  28. package/dist/web/pingerchips-with-encryption.js +0 -7009
  29. package/dist/web/pingerchips-with-encryption.js.map +0 -1
  30. package/dist/web/pingerchips-with-encryption.min.js +0 -9
  31. package/dist/web/pingerchips-with-encryption.min.js.map +0 -1
  32. package/dist/web/pingerchips.js +0 -4587
  33. package/dist/web/pingerchips.js.map +0 -1
  34. package/dist/web/pingerchips.min.js +0 -9
  35. package/dist/web/pingerchips.min.js.map +0 -1
  36. package/dist/web/pusher-with-encryption.js +0 -7009
  37. package/dist/web/pusher-with-encryption.js.map +0 -1
  38. package/dist/web/pusher-with-encryption.min.js +0 -9
  39. package/dist/web/pusher-with-encryption.min.js.map +0 -1
  40. package/dist/web/pusher.js +0 -4587
  41. package/dist/web/pusher.js.map +0 -1
  42. package/dist/web/pusher.min.js +0 -9
  43. package/dist/web/pusher.min.js.map +0 -1
  44. package/dist/web/sockjs.js +0 -2435
  45. package/dist/web/sockjs.min.js +0 -89
  46. package/dist/worker/pingerchips-with-encryption.worker.js +0 -6622
  47. package/dist/worker/pingerchips-with-encryption.worker.js.map +0 -1
  48. package/dist/worker/pingerchips-with-encryption.worker.min.js +0 -9
  49. package/dist/worker/pingerchips-with-encryption.worker.min.js.map +0 -1
  50. package/dist/worker/pingerchips.worker.js +0 -4200
  51. package/dist/worker/pingerchips.worker.js.map +0 -1
  52. package/dist/worker/pingerchips.worker.min.js +0 -9
  53. package/dist/worker/pingerchips.worker.min.js.map +0 -1
  54. package/dist/worker/pusher-with-encryption.worker.js +0 -6622
  55. package/dist/worker/pusher-with-encryption.worker.js.map +0 -1
  56. package/dist/worker/pusher-with-encryption.worker.min.js +0 -9
  57. package/dist/worker/pusher-with-encryption.worker.min.js.map +0 -1
  58. package/dist/worker/pusher.worker.js +0 -4200
  59. package/dist/worker/pusher.worker.js.map +0 -1
  60. package/dist/worker/pusher.worker.min.js +0 -9
  61. package/dist/worker/pusher.worker.min.js.map +0 -1
  62. package/index.d.ts +0 -29
  63. package/integration_tests_server/index.js +0 -176
  64. package/integration_tests_server/package-lock.json +0 -1177
  65. package/integration_tests_server/package.json +0 -15
  66. package/node.js +0 -1
  67. package/pusher-with-encryption/index.js +0 -1
  68. package/react-native/index.d.ts +0 -29
  69. package/react-native/index.js +0 -1
  70. package/spec/config/jasmine/helpers/reporter.js +0 -14
  71. package/spec/config/jasmine/integration.json +0 -13
  72. package/spec/config/jasmine/unit.json +0 -13
  73. package/spec/config/jasmine/webpack.integration.js +0 -33
  74. package/spec/config/jasmine/webpack.unit.js +0 -30
  75. package/spec/config/karma/available_browsers.json +0 -4957
  76. package/spec/config/karma/config.ci.js +0 -25
  77. package/spec/config/karma/config.common.js +0 -50
  78. package/spec/config/karma/config.integration.js +0 -26
  79. package/spec/config/karma/config.unit.js +0 -10
  80. package/spec/config/karma/config.worker.js +0 -34
  81. package/spec/config/karma/integration.js +0 -24
  82. package/spec/config/karma/unit.js +0 -20
  83. package/spec/javascripts/helpers/mocks.js +0 -274
  84. package/spec/javascripts/helpers/node/integration.js +0 -33
  85. package/spec/javascripts/helpers/node/mock-dom-dependencies.ts +0 -1
  86. package/spec/javascripts/helpers/pusher_integration.js +0 -1
  87. package/spec/javascripts/helpers/pusher_integration_class.ts +0 -11
  88. package/spec/javascripts/helpers/timers/promises.js +0 -9
  89. package/spec/javascripts/helpers/waitsFor.js +0 -37
  90. package/spec/javascripts/helpers/web/integration.js +0 -44
  91. package/spec/javascripts/helpers/worker/mock-dom-dependencies.js +0 -1
  92. package/spec/javascripts/integration/core/cluster_config_spec.js +0 -153
  93. package/spec/javascripts/integration/core/falling_back_spec.js +0 -195
  94. package/spec/javascripts/integration/core/pusher_spec/index.js +0 -68
  95. package/spec/javascripts/integration/core/pusher_spec/test_builder.js +0 -715
  96. package/spec/javascripts/integration/core/timeout_configuration_spec.js +0 -200
  97. package/spec/javascripts/integration/core/transport_lists_spec.js +0 -103
  98. package/spec/javascripts/integration/index.node.js +0 -12
  99. package/spec/javascripts/integration/index.web.js +0 -63
  100. package/spec/javascripts/integration/index.worker.js +0 -13
  101. package/spec/javascripts/integration/web/dom/jsonp_spec.js +0 -97
  102. package/spec/javascripts/integration/web/dom/script_request_spec.js +0 -90
  103. package/spec/javascripts/polyfills/index.js +0 -105
  104. package/spec/javascripts/unit/core/channels/channel_spec.js +0 -355
  105. package/spec/javascripts/unit/core/channels/channels_spec.js +0 -94
  106. package/spec/javascripts/unit/core/channels/encrypted_channel_spec.js +0 -343
  107. package/spec/javascripts/unit/core/channels/presence_channel_spec.js +0 -553
  108. package/spec/javascripts/unit/core/channels/private_channel_spec.js +0 -182
  109. package/spec/javascripts/unit/core/config_spec.js +0 -507
  110. package/spec/javascripts/unit/core/connection/connection_manager_spec.js +0 -656
  111. package/spec/javascripts/unit/core/connection/connection_spec.js +0 -286
  112. package/spec/javascripts/unit/core/connection/handshake_spec.js +0 -160
  113. package/spec/javascripts/unit/core/connection/protocol_spec.js +0 -420
  114. package/spec/javascripts/unit/core/defaults_spec.js +0 -26
  115. package/spec/javascripts/unit/core/events_dispatcher_spec.js +0 -385
  116. package/spec/javascripts/unit/core/http/http_polling_socket_spec.js +0 -60
  117. package/spec/javascripts/unit/core/http/http_request_spec.js +0 -185
  118. package/spec/javascripts/unit/core/http/http_socket_spec.js +0 -370
  119. package/spec/javascripts/unit/core/http/http_streaming_socket_spec.js +0 -56
  120. package/spec/javascripts/unit/core/http/http_xhr_request_spec.js +0 -164
  121. package/spec/javascripts/unit/core/logger_spec.js +0 -133
  122. package/spec/javascripts/unit/core/pusher_spec.js +0 -613
  123. package/spec/javascripts/unit/core/pusher_with_encryption_spec.js +0 -18
  124. package/spec/javascripts/unit/core/strategies/best_connected_ever_strategy_spec.js +0 -104
  125. package/spec/javascripts/unit/core/strategies/delayed_strategy_spec.js +0 -95
  126. package/spec/javascripts/unit/core/strategies/first_connected_strategy_spec.js +0 -68
  127. package/spec/javascripts/unit/core/strategies/if_strategy_spec.js +0 -165
  128. package/spec/javascripts/unit/core/strategies/sequential_strategy_spec.js +0 -213
  129. package/spec/javascripts/unit/core/strategies/transport_strategy_spec.js +0 -250
  130. package/spec/javascripts/unit/core/strategies/websocket_prioritized_cached_strategy_spec.js +0 -400
  131. package/spec/javascripts/unit/core/timeline/timeline_spec.js +0 -153
  132. package/spec/javascripts/unit/core/transports/assistant_to_the_transport_manager_spec.js +0 -223
  133. package/spec/javascripts/unit/core/transports/hosts_and_ports_spec.js +0 -85
  134. package/spec/javascripts/unit/core/transports/transport_connection_spec.js +0 -585
  135. package/spec/javascripts/unit/core/transports/transport_manager_spec.js +0 -64
  136. package/spec/javascripts/unit/core/user_spec.js +0 -303
  137. package/spec/javascripts/unit/core/utils/periodic_timer_spec.js +0 -74
  138. package/spec/javascripts/unit/core/utils/timers_spec.js +0 -157
  139. package/spec/javascripts/unit/core/utils/url_store_spec.js +0 -14
  140. package/spec/javascripts/unit/core/watchlist_spec.js +0 -48
  141. package/spec/javascripts/unit/core_with_runtime/auth/channel_authorizer_spec.js +0 -137
  142. package/spec/javascripts/unit/core_with_runtime/auth/deprecated_channel_authorizer_spec.js +0 -48
  143. package/spec/javascripts/unit/core_with_runtime/auth/user_authorizer_spec.js +0 -128
  144. package/spec/javascripts/unit/core_with_runtime/readme.md +0 -5
  145. package/spec/javascripts/unit/index.node.js +0 -11
  146. package/spec/javascripts/unit/index.web.js +0 -12
  147. package/spec/javascripts/unit/index.worker.js +0 -11
  148. package/spec/javascripts/unit/isomorphic/transports/hosts_and_ports_spec.js +0 -82
  149. package/spec/javascripts/unit/isomorphic/transports/transports_spec.js +0 -202
  150. package/spec/javascripts/unit/node/timeline_sender_spec.js +0 -83
  151. package/spec/javascripts/unit/web/dom/dependency_loader_spec.js +0 -249
  152. package/spec/javascripts/unit/web/dom/jsonp_request_spec.js +0 -130
  153. package/spec/javascripts/unit/web/dom/script_receiver_factory_spec.js +0 -68
  154. package/spec/javascripts/unit/web/http/http_xdomain_request_spec.js +0 -222
  155. package/spec/javascripts/unit/web/pusher_authorizer_spec.js +0 -64
  156. package/spec/javascripts/unit/web/timeline/timeline_sender_spec.js +0 -131
  157. package/spec/javascripts/unit/web/transports/hosts_and_ports_spec.js +0 -127
  158. package/spec/javascripts/unit/web/transports/transports_spec.js +0 -444
  159. package/spec/javascripts/unit/worker/channel_authorizer_spec.js +0 -156
  160. package/spec/javascripts/unit/worker/timeline_sender_spec.js +0 -76
  161. package/src/core/auth/auth_transports.ts +0 -18
  162. package/src/core/auth/channel_authorizer.ts +0 -64
  163. package/src/core/auth/deprecated_channel_authorizer.ts +0 -58
  164. package/src/core/auth/options.ts +0 -78
  165. package/src/core/auth/user_authenticator.ts +0 -62
  166. package/src/core/base64.ts +0 -49
  167. package/src/core/channels/channel.ts +0 -163
  168. package/src/core/channels/channel_table.ts +0 -7
  169. package/src/core/channels/channels.ts +0 -85
  170. package/src/core/channels/encrypted_channel.ts +0 -149
  171. package/src/core/channels/members.ts +0 -80
  172. package/src/core/channels/metadata.ts +0 -5
  173. package/src/core/channels/presence_channel.ts +0 -113
  174. package/src/core/channels/private_channel.ts +0 -25
  175. package/src/core/config.ts +0 -189
  176. package/src/core/connection/callbacks.ts +0 -21
  177. package/src/core/connection/connection.ts +0 -160
  178. package/src/core/connection/connection_manager.ts +0 -371
  179. package/src/core/connection/connection_manager_options.ts +0 -14
  180. package/src/core/connection/handshake/handshake_payload.ts +0 -10
  181. package/src/core/connection/handshake/index.ts +0 -90
  182. package/src/core/connection/protocol/action.ts +0 -8
  183. package/src/core/connection/protocol/message-types.ts +0 -8
  184. package/src/core/connection/protocol/protocol.ts +0 -154
  185. package/src/core/defaults.ts +0 -66
  186. package/src/core/errors.ts +0 -69
  187. package/src/core/events/callback.ts +0 -6
  188. package/src/core/events/callback_registry.ts +0 -75
  189. package/src/core/events/callback_table.ts +0 -7
  190. package/src/core/events/dispatcher.ts +0 -84
  191. package/src/core/http/ajax.ts +0 -24
  192. package/src/core/http/http_factory.ts +0 -16
  193. package/src/core/http/http_polling_socket.ts +0 -24
  194. package/src/core/http/http_request.ts +0 -81
  195. package/src/core/http/http_socket.ts +0 -220
  196. package/src/core/http/http_streaming_socket.ts +0 -19
  197. package/src/core/http/request_hooks.ts +0 -9
  198. package/src/core/http/socket_hooks.ts +0 -11
  199. package/src/core/http/state.ts +0 -7
  200. package/src/core/http/url_location.ts +0 -6
  201. package/src/core/logger.ts +0 -53
  202. package/src/core/options.ts +0 -59
  203. package/src/core/pingerchips-licence.js +0 -7
  204. package/src/core/pingerchips-with-encryption.js +0 -1
  205. package/src/core/pingerchips-with-encryption.ts +0 -14
  206. package/src/core/pingerchips.js +0 -2
  207. package/src/core/pingerchips.ts +0 -249
  208. package/src/core/reachability.ts +0 -7
  209. package/src/core/socket.ts +0 -14
  210. package/src/core/strategies/best_connected_ever_strategy.ts +0 -81
  211. package/src/core/strategies/delayed_strategy.ts +0 -48
  212. package/src/core/strategies/first_connected_strategy.ts +0 -28
  213. package/src/core/strategies/if_strategy.ts +0 -34
  214. package/src/core/strategies/sequential_strategy.ts +0 -129
  215. package/src/core/strategies/strategy.ts +0 -8
  216. package/src/core/strategies/strategy_builder.ts +0 -67
  217. package/src/core/strategies/strategy_options.ts +0 -18
  218. package/src/core/strategies/strategy_runner.ts +0 -6
  219. package/src/core/strategies/transport_strategy.ts +0 -144
  220. package/src/core/strategies/websocket_prioritized_cached_strategy.ts +0 -157
  221. package/src/core/timeline/level.ts +0 -7
  222. package/src/core/timeline/timeline.ts +0 -90
  223. package/src/core/timeline/timeline_sender.ts +0 -33
  224. package/src/core/timeline/timeline_transport.ts +0 -11
  225. package/src/core/transports/assistant_to_the_transport_manager.ts +0 -104
  226. package/src/core/transports/ping_delay_options.ts +0 -7
  227. package/src/core/transports/transport.ts +0 -54
  228. package/src/core/transports/transport_connection.ts +0 -241
  229. package/src/core/transports/transport_connection_options.ts +0 -8
  230. package/src/core/transports/transport_hooks.ts +0 -16
  231. package/src/core/transports/transport_manager.ts +0 -52
  232. package/src/core/transports/transports_table.ts +0 -12
  233. package/src/core/transports/url_scheme.ts +0 -13
  234. package/src/core/transports/url_schemes.ts +0 -47
  235. package/src/core/user.ts +0 -186
  236. package/src/core/util.ts +0 -34
  237. package/src/core/utils/collections.ts +0 -353
  238. package/src/core/utils/factory.ts +0 -75
  239. package/src/core/utils/flat_promise.ts +0 -10
  240. package/src/core/utils/timers/abstract_timer.ts +0 -39
  241. package/src/core/utils/timers/index.ts +0 -39
  242. package/src/core/utils/timers/scheduling.ts +0 -11
  243. package/src/core/utils/timers/timed_callback.ts +0 -5
  244. package/src/core/utils/url_store.ts +0 -48
  245. package/src/core/watchlist.ts +0 -31
  246. package/src/d.ts/constants/index.d.ts +0 -5
  247. package/src/d.ts/faye-websocket/faye-websocket.d.ts +0 -21
  248. package/src/d.ts/global/global.d.ts +0 -1
  249. package/src/d.ts/module/module.d.ts +0 -12
  250. package/src/d.ts/tweetnacl-util/index.d.ts +0 -6
  251. package/src/d.ts/window/events.d.ts +0 -4
  252. package/src/d.ts/window/sockjs.d.ts +0 -3
  253. package/src/d.ts/window/websocket.d.ts +0 -4
  254. package/src/d.ts/window/xmlhttprequest.d.ts +0 -3
  255. package/src/runtimes/interface.ts +0 -59
  256. package/src/runtimes/isomorphic/auth/xhr_auth.ts +0 -90
  257. package/src/runtimes/isomorphic/default_strategy.ts +0 -155
  258. package/src/runtimes/isomorphic/http/http.ts +0 -32
  259. package/src/runtimes/isomorphic/http/http_xhr_request.ts +0 -35
  260. package/src/runtimes/isomorphic/runtime.ts +0 -62
  261. package/src/runtimes/isomorphic/timeline/xhr_timeline.ts +0 -50
  262. package/src/runtimes/isomorphic/transports/transport_connection_initializer.ts +0 -19
  263. package/src/runtimes/isomorphic/transports/transports.ts +0 -81
  264. package/src/runtimes/node/net_info.ts +0 -10
  265. package/src/runtimes/node/runtime.ts +0 -68
  266. package/src/runtimes/react-native/net_info.ts +0 -42
  267. package/src/runtimes/react-native/runtime.ts +0 -65
  268. package/src/runtimes/web/auth/jsonp_auth.ts +0 -51
  269. package/src/runtimes/web/browser.ts +0 -24
  270. package/src/runtimes/web/default_strategy.ts +0 -201
  271. package/src/runtimes/web/dom/dependencies.ts +0 -16
  272. package/src/runtimes/web/dom/dependency_loader.ts +0 -93
  273. package/src/runtimes/web/dom/json2.js +0 -486
  274. package/src/runtimes/web/dom/jsonp_request.ts +0 -52
  275. package/src/runtimes/web/dom/script_receiver.ts +0 -8
  276. package/src/runtimes/web/dom/script_receiver_factory.ts +0 -57
  277. package/src/runtimes/web/dom/script_request.ts +0 -85
  278. package/src/runtimes/web/dom/sockjs/COPYING +0 -11
  279. package/src/runtimes/web/dom/sockjs/Changelog +0 -147
  280. package/src/runtimes/web/dom/sockjs/LICENSE-MIT-SockJS +0 -19
  281. package/src/runtimes/web/dom/sockjs/Makefile +0 -109
  282. package/src/runtimes/web/dom/sockjs/README.md +0 -388
  283. package/src/runtimes/web/dom/sockjs/VERSION-GEN +0 -17
  284. package/src/runtimes/web/dom/sockjs/bin/render.coffee +0 -111
  285. package/src/runtimes/web/dom/sockjs/bin/run_testling.sh +0 -135
  286. package/src/runtimes/web/dom/sockjs/lib/all.js +0 -9
  287. package/src/runtimes/web/dom/sockjs/lib/dom.js +0 -185
  288. package/src/runtimes/web/dom/sockjs/lib/dom2.js +0 -280
  289. package/src/runtimes/web/dom/sockjs/lib/eventemitter.js +0 -57
  290. package/src/runtimes/web/dom/sockjs/lib/heartbeater.js +0 -70
  291. package/src/runtimes/web/dom/sockjs/lib/index.js +0 -41
  292. package/src/runtimes/web/dom/sockjs/lib/info.js +0 -117
  293. package/src/runtimes/web/dom/sockjs/lib/json2.min.js +0 -1
  294. package/src/runtimes/web/dom/sockjs/lib/reventtarget.js +0 -55
  295. package/src/runtimes/web/dom/sockjs/lib/simpleevent.js +0 -28
  296. package/src/runtimes/web/dom/sockjs/lib/sockjs.js +0 -288
  297. package/src/runtimes/web/dom/sockjs/lib/test-hooks.js +0 -16
  298. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-eventsource.js +0 -29
  299. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-htmlfile.js +0 -35
  300. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-within.js +0 -100
  301. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-xhr-polling.js +0 -30
  302. package/src/runtimes/web/dom/sockjs/lib/trans-iframe.js +0 -103
  303. package/src/runtimes/web/dom/sockjs/lib/trans-jsonp-polling.js +0 -106
  304. package/src/runtimes/web/dom/sockjs/lib/trans-jsonp-receiver.js +0 -116
  305. package/src/runtimes/web/dom/sockjs/lib/trans-polling.js +0 -44
  306. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-eventsource.js +0 -41
  307. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-htmlfile.js +0 -65
  308. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-xhr.js +0 -42
  309. package/src/runtimes/web/dom/sockjs/lib/trans-sender.js +0 -138
  310. package/src/runtimes/web/dom/sockjs/lib/trans-xhr.js +0 -29
  311. package/src/runtimes/web/dom/sockjs/lib/utils.js +0 -297
  312. package/src/runtimes/web/dom/sockjs/package.json +0 -18
  313. package/src/runtimes/web/dom/sockjs/version +0 -1
  314. package/src/runtimes/web/http/http.ts +0 -8
  315. package/src/runtimes/web/http/http_xdomain_request.ts +0 -37
  316. package/src/runtimes/web/net_info.ts +0 -50
  317. package/src/runtimes/web/runtime.ts +0 -174
  318. package/src/runtimes/web/timeline/jsonp_timeline.ts +0 -34
  319. package/src/runtimes/web/transports/transport_connection_initializer.ts +0 -39
  320. package/src/runtimes/web/transports/transports.ts +0 -65
  321. package/src/runtimes/worker/auth/fetch_auth.ts +0 -69
  322. package/src/runtimes/worker/net_info.ts +0 -10
  323. package/src/runtimes/worker/runtime.ts +0 -75
  324. package/src/runtimes/worker/timeline/fetch_timeline.ts +0 -39
  325. package/tsconfig.json +0 -26
  326. package/types/spec/javascripts/helpers/node/mock-dom-dependencies.d.ts +0 -1
  327. package/types/spec/javascripts/helpers/pusher_integration_class.d.ts +0 -4
  328. package/types/src/core/auth/auth_transports.d.ts +0 -9
  329. package/types/src/core/auth/channel_authorizer.d.ts +0 -3
  330. package/types/src/core/auth/deprecated_channel_authorizer.d.ts +0 -18
  331. package/types/src/core/auth/options.d.ts +0 -48
  332. package/types/src/core/auth/user_authenticator.d.ts +0 -3
  333. package/types/src/core/base64.d.ts +0 -1
  334. package/types/src/core/channels/channel.d.ts +0 -23
  335. package/types/src/core/channels/channel_table.d.ts +0 -5
  336. package/types/src/core/channels/channels.d.ts +0 -12
  337. package/types/src/core/channels/encrypted_channel.d.ts +0 -15
  338. package/types/src/core/channels/members.d.ts +0 -14
  339. package/types/src/core/channels/metadata.d.ts +0 -4
  340. package/types/src/core/channels/presence_channel.d.ts +0 -13
  341. package/types/src/core/channels/private_channel.d.ts +0 -5
  342. package/types/src/core/config.d.ts +0 -31
  343. package/types/src/core/connection/callbacks.d.ts +0 -18
  344. package/types/src/core/connection/connection.d.ts +0 -16
  345. package/types/src/core/connection/connection_manager.d.ts +0 -50
  346. package/types/src/core/connection/connection_manager_options.d.ts +0 -11
  347. package/types/src/core/connection/handshake/handshake_payload.d.ts +0 -8
  348. package/types/src/core/connection/handshake/index.d.ts +0 -12
  349. package/types/src/core/connection/protocol/action.d.ts +0 -7
  350. package/types/src/core/connection/protocol/message-types.d.ts +0 -7
  351. package/types/src/core/connection/protocol/protocol.d.ts +0 -10
  352. package/types/src/core/defaults.d.ts +0 -26
  353. package/types/src/core/errors.d.ts +0 -28
  354. package/types/src/core/events/callback.d.ts +0 -5
  355. package/types/src/core/events/callback_registry.d.ts +0 -11
  356. package/types/src/core/events/callback_table.d.ts +0 -5
  357. package/types/src/core/events/dispatcher.d.ts +0 -14
  358. package/types/src/core/http/ajax.d.ts +0 -16
  359. package/types/src/core/http/http_factory.d.ts +0 -13
  360. package/types/src/core/http/http_polling_socket.d.ts +0 -3
  361. package/types/src/core/http/http_request.d.ts +0 -17
  362. package/types/src/core/http/http_socket.d.ts +0 -32
  363. package/types/src/core/http/http_streaming_socket.d.ts +0 -3
  364. package/types/src/core/http/request_hooks.d.ts +0 -6
  365. package/types/src/core/http/socket_hooks.d.ts +0 -8
  366. package/types/src/core/http/state.d.ts +0 -6
  367. package/types/src/core/http/url_location.d.ts +0 -5
  368. package/types/src/core/logger.d.ts +0 -11
  369. package/types/src/core/options.d.ts +0 -34
  370. package/types/src/core/pingerchips-with-encryption.d.ts +0 -5
  371. package/types/src/core/pingerchips.d.ts +0 -49
  372. package/types/src/core/reachability.d.ts +0 -5
  373. package/types/src/core/socket.d.ts +0 -12
  374. package/types/src/core/strategies/best_connected_ever_strategy.d.ts +0 -10
  375. package/types/src/core/strategies/delayed_strategy.d.ts +0 -15
  376. package/types/src/core/strategies/first_connected_strategy.d.ts +0 -8
  377. package/types/src/core/strategies/if_strategy.d.ts +0 -10
  378. package/types/src/core/strategies/sequential_strategy.d.ts +0 -16
  379. package/types/src/core/strategies/strategy.d.ts +0 -6
  380. package/types/src/core/strategies/strategy_builder.d.ts +0 -5
  381. package/types/src/core/strategies/strategy_options.d.ts +0 -16
  382. package/types/src/core/strategies/strategy_runner.d.ts +0 -5
  383. package/types/src/core/strategies/transport_strategy.d.ts +0 -15
  384. package/types/src/core/strategies/websocket_prioritized_cached_strategy.d.ts +0 -20
  385. package/types/src/core/timeline/level.d.ts +0 -6
  386. package/types/src/core/timeline/timeline.d.ts +0 -25
  387. package/types/src/core/timeline/timeline_sender.d.ts +0 -13
  388. package/types/src/core/timeline/timeline_transport.d.ts +0 -6
  389. package/types/src/core/transports/assistant_to_the_transport_manager.d.ts +0 -14
  390. package/types/src/core/transports/ping_delay_options.d.ts +0 -6
  391. package/types/src/core/transports/transport.d.ts +0 -8
  392. package/types/src/core/transports/transport_connection.d.ts +0 -35
  393. package/types/src/core/transports/transport_connection_options.d.ts +0 -6
  394. package/types/src/core/transports/transport_hooks.d.ts +0 -13
  395. package/types/src/core/transports/transport_manager.d.ts +0 -14
  396. package/types/src/core/transports/transports_table.d.ts +0 -10
  397. package/types/src/core/transports/url_scheme.d.ts +0 -11
  398. package/types/src/core/transports/url_schemes.d.ts +0 -4
  399. package/types/src/core/user.d.ts +0 -21
  400. package/types/src/core/util.d.ts +0 -8
  401. package/types/src/core/utils/collections.d.ts +0 -18
  402. package/types/src/core/utils/factory.d.ts +0 -29
  403. package/types/src/core/utils/flat_promise.d.ts +0 -6
  404. package/types/src/core/utils/timers/abstract_timer.d.ts +0 -10
  405. package/types/src/core/utils/timers/index.d.ts +0 -9
  406. package/types/src/core/utils/timers/scheduling.d.ts +0 -8
  407. package/types/src/core/utils/timers/timed_callback.d.ts +0 -4
  408. package/types/src/core/utils/url_store.d.ts +0 -4
  409. package/types/src/core/watchlist.d.ts +0 -8
  410. package/types/src/runtimes/interface.d.ts +0 -43
  411. package/types/src/runtimes/isomorphic/auth/xhr_auth.d.ts +0 -3
  412. package/types/src/runtimes/isomorphic/default_strategy.d.ts +0 -5
  413. package/types/src/runtimes/isomorphic/http/http.d.ts +0 -3
  414. package/types/src/runtimes/isomorphic/http/http_xhr_request.d.ts +0 -3
  415. package/types/src/runtimes/isomorphic/runtime.d.ts +0 -2
  416. package/types/src/runtimes/isomorphic/timeline/xhr_timeline.d.ts +0 -6
  417. package/types/src/runtimes/isomorphic/transports/transport_connection_initializer.d.ts +0 -1
  418. package/types/src/runtimes/isomorphic/transports/transports.d.ts +0 -5
  419. package/types/src/runtimes/node/net_info.d.ts +0 -6
  420. package/types/src/runtimes/node/runtime.d.ts +0 -3
  421. package/types/src/runtimes/react-native/net_info.d.ts +0 -8
  422. package/types/src/runtimes/react-native/runtime.d.ts +0 -3
  423. package/types/src/runtimes/web/auth/jsonp_auth.d.ts +0 -3
  424. package/types/src/runtimes/web/browser.d.ts +0 -19
  425. package/types/src/runtimes/web/default_strategy.d.ts +0 -5
  426. package/types/src/runtimes/web/dom/dependencies.d.ts +0 -4
  427. package/types/src/runtimes/web/dom/dependency_loader.d.ts +0 -10
  428. package/types/src/runtimes/web/dom/jsonp_request.d.ts +0 -10
  429. package/types/src/runtimes/web/dom/script_receiver.d.ts +0 -7
  430. package/types/src/runtimes/web/dom/script_receiver_factory.d.ts +0 -10
  431. package/types/src/runtimes/web/dom/script_request.d.ts +0 -9
  432. package/types/src/runtimes/web/http/http.d.ts +0 -2
  433. package/types/src/runtimes/web/http/http_xdomain_request.d.ts +0 -3
  434. package/types/src/runtimes/web/net_info.d.ts +0 -7
  435. package/types/src/runtimes/web/runtime.d.ts +0 -3
  436. package/types/src/runtimes/web/timeline/jsonp_timeline.d.ts +0 -6
  437. package/types/src/runtimes/web/transports/transport_connection_initializer.d.ts +0 -1
  438. package/types/src/runtimes/web/transports/transports.d.ts +0 -2
  439. package/types/src/runtimes/worker/auth/fetch_auth.d.ts +0 -3
  440. package/types/src/runtimes/worker/net_info.d.ts +0 -6
  441. package/types/src/runtimes/worker/runtime.d.ts +0 -3
  442. package/types/src/runtimes/worker/timeline/fetch_timeline.d.ts +0 -6
  443. package/webpack/config.node.js +0 -26
  444. package/webpack/config.react-native.js +0 -35
  445. package/webpack/config.shared.js +0 -50
  446. package/webpack/config.web.js +0 -36
  447. package/webpack/config.worker.js +0 -42
  448. package/webpack/dev.server.js +0 -17
  449. package/webpack/hosting_config.js +0 -6
  450. package/with-encryption/index.d.ts +0 -29
  451. package/with-encryption/index.js +0 -4
  452. package/worker/index.d.ts +0 -29
  453. package/worker/index.js +0 -1
  454. package/worker/with-encryption/index.d.ts +0 -29
  455. package/worker/with-encryption/index.js +0 -1
@@ -1,149 +0,0 @@
1
- import { decode as decodeBase64 } from '@stablelib/base64';
2
- import { decode as encodeUTF8 } from '@stablelib/utf8';
3
- import * as nacl from 'tweetnacl';
4
- import {
5
- ChannelAuthorizationCallback,
6
- ChannelAuthorizationData
7
- } from '../auth/options';
8
- import { PusherEvent } from '../connection/protocol/message-types';
9
- import * as Errors from '../errors';
10
- import Logger from '../logger';
11
- import Pingerchips from '../pingerchips';
12
- import PrivateChannel from './private_channel';
13
-
14
- /** Extends private channels to provide encrypted channel interface.
15
- *
16
- * @param {String} name
17
- * @param {Pingerchips} pusher
18
- */
19
- export default class EncryptedChannel extends PrivateChannel {
20
- key: Uint8Array = null;
21
- nacl: nacl;
22
-
23
- constructor(name: string, pusher: Pingerchips, nacl: nacl) {
24
- super(name, pusher);
25
- this.nacl = nacl;
26
- }
27
-
28
- /** Authorizes the connection to use the channel.
29
- *
30
- * @param {String} socketId
31
- * @param {Function} callback
32
- */
33
- authorize(socketId: string, callback: ChannelAuthorizationCallback) {
34
- super.authorize(
35
- socketId,
36
- (error: Error | null, authData: ChannelAuthorizationData) => {
37
- if (error) {
38
- callback(error, authData);
39
- return;
40
- }
41
- let sharedSecret = authData['shared_secret'];
42
- if (!sharedSecret) {
43
- callback(
44
- new Error(
45
- `No shared_secret key in auth payload for encrypted channel: ${this.name}`
46
- ),
47
- null
48
- );
49
- return;
50
- }
51
- this.key = decodeBase64(sharedSecret);
52
- delete authData['shared_secret'];
53
- callback(null, authData);
54
- }
55
- );
56
- }
57
-
58
- trigger(event: string, data: any): boolean {
59
- throw new Errors.UnsupportedFeature(
60
- 'Client events are not currently supported for encrypted channels'
61
- );
62
- }
63
-
64
- /** Handles an event. For internal use only.
65
- *
66
- * @param {PusherEvent} event
67
- */
68
- handleEvent(event: PusherEvent) {
69
- var eventName = event.event;
70
- var data = event.data;
71
- if (
72
- eventName.indexOf('pusher_internal:') === 0 ||
73
- eventName.indexOf('pusher:') === 0
74
- ) {
75
- super.handleEvent(event);
76
- return;
77
- }
78
- this.handleEncryptedEvent(eventName, data);
79
- }
80
-
81
- private handleEncryptedEvent(event: string, data: any): void {
82
- if (!this.key) {
83
- Logger.debug(
84
- 'Received encrypted event before key has been retrieved from the authEndpoint'
85
- );
86
- return;
87
- }
88
- if (!data.ciphertext || !data.nonce) {
89
- Logger.error(
90
- 'Unexpected format for encrypted event, expected object with `ciphertext` and `nonce` fields, got: ' +
91
- data
92
- );
93
- return;
94
- }
95
- let cipherText = decodeBase64(data.ciphertext);
96
- if (cipherText.length < this.nacl.secretbox.overheadLength) {
97
- Logger.error(
98
- `Expected encrypted event ciphertext length to be ${this.nacl.secretbox.overheadLength}, got: ${cipherText.length}`
99
- );
100
- return;
101
- }
102
- let nonce = decodeBase64(data.nonce);
103
- if (nonce.length < this.nacl.secretbox.nonceLength) {
104
- Logger.error(
105
- `Expected encrypted event nonce length to be ${this.nacl.secretbox.nonceLength}, got: ${nonce.length}`
106
- );
107
- return;
108
- }
109
-
110
- let bytes = this.nacl.secretbox.open(cipherText, nonce, this.key);
111
- if (bytes === null) {
112
- Logger.debug(
113
- 'Failed to decrypt an event, probably because it was encrypted with a different key. Fetching a new key from the authEndpoint...'
114
- );
115
- // Try a single time to retrieve a new auth key and decrypt the event with it
116
- // If this fails, a new key will be requested when a new message is received
117
- this.authorize(this.pusher.connection.socket_id, (error, authData) => {
118
- if (error) {
119
- Logger.error(
120
- `Failed to make a request to the authEndpoint: ${authData}. Unable to fetch new key, so dropping encrypted event`
121
- );
122
- return;
123
- }
124
- bytes = this.nacl.secretbox.open(cipherText, nonce, this.key);
125
- if (bytes === null) {
126
- Logger.error(
127
- `Failed to decrypt event with new key. Dropping encrypted event`
128
- );
129
- return;
130
- }
131
- this.emit(event, this.getDataToEmit(bytes));
132
- return;
133
- });
134
- return;
135
- }
136
- this.emit(event, this.getDataToEmit(bytes));
137
- }
138
-
139
- // Try and parse the decrypted bytes as JSON. If we can't parse it, just
140
- // return the utf-8 string
141
- getDataToEmit(bytes: Uint8Array): string {
142
- let raw = encodeUTF8(bytes);
143
- try {
144
- return JSON.parse(raw);
145
- } catch {
146
- return raw;
147
- }
148
- }
149
- }
@@ -1,80 +0,0 @@
1
- import * as Collections from '../utils/collections';
2
-
3
- /** Represents a collection of members of a presence channel. */
4
- export default class Members {
5
- members: any;
6
- count: number;
7
- myID: any;
8
- me: any;
9
-
10
- constructor() {
11
- this.reset();
12
- }
13
-
14
- /** Returns member's info for given id.
15
- *
16
- * Resulting object containts two fields - id and info.
17
- *
18
- * @param {Number} id
19
- * @return {Object} member's info or null
20
- */
21
- get(id: string): any {
22
- if (Object.prototype.hasOwnProperty.call(this.members, id)) {
23
- return {
24
- id: id,
25
- info: this.members[id]
26
- };
27
- } else {
28
- return null;
29
- }
30
- }
31
-
32
- /** Calls back for each member in unspecified order.
33
- *
34
- * @param {Function} callback
35
- */
36
- each(callback: Function) {
37
- Collections.objectApply(this.members, (member, id) => {
38
- callback(this.get(id));
39
- });
40
- }
41
-
42
- /** Updates the id for connected member. For internal use only. */
43
- setMyID(id: string) {
44
- this.myID = id;
45
- }
46
-
47
- /** Handles subscription data. For internal use only. */
48
- onSubscription(subscriptionData: any) {
49
- this.members = subscriptionData.presence.hash;
50
- this.count = subscriptionData.presence.count;
51
- this.me = this.get(this.myID);
52
- }
53
-
54
- /** Adds a new member to the collection. For internal use only. */
55
- addMember(memberData: any) {
56
- if (this.get(memberData.user_id) === null) {
57
- this.count++;
58
- }
59
- this.members[memberData.user_id] = memberData.user_info;
60
- return this.get(memberData.user_id);
61
- }
62
-
63
- /** Adds a member from the collection. For internal use only. */
64
- removeMember(memberData: any) {
65
- var member = this.get(memberData.user_id);
66
- if (member) {
67
- delete this.members[memberData.user_id];
68
- this.count--;
69
- }
70
- return member;
71
- }
72
-
73
- /** Resets the collection to the initial state. For internal use only. */
74
- reset() {
75
- this.members = {};
76
- this.count = 0;
77
- this.myID = null;
78
- this.me = null;
79
- }
80
- }
@@ -1,5 +0,0 @@
1
- interface Metadata {
2
- user_id?: string;
3
- }
4
-
5
- export default Metadata;
@@ -1,113 +0,0 @@
1
- import UrlStore from 'core/utils/url_store';
2
- import { ChannelAuthorizationData } from '../auth/options';
3
- import { PusherEvent } from '../connection/protocol/message-types';
4
- import Logger from '../logger';
5
- import Pingerchips from '../pingerchips';
6
- import Members from './members';
7
- import Metadata from './metadata';
8
- import PrivateChannel from './private_channel';
9
-
10
- export default class PresenceChannel extends PrivateChannel {
11
- members: Members;
12
-
13
- /** Adds presence channel functionality to private channels.
14
- *
15
- * @param {String} name
16
- * @param {Pingerchips} pusher
17
- */
18
- constructor(name: string, pusher: Pingerchips) {
19
- super(name, pusher);
20
- this.members = new Members();
21
- }
22
-
23
- /** Authorizes the connection as a member of the channel.
24
- *
25
- * @param {String} socketId
26
- * @param {Function} callback
27
- */
28
- authorize(socketId: string, callback: Function) {
29
- super.authorize(socketId, async (error, authData) => {
30
- if (!error) {
31
- authData = authData as ChannelAuthorizationData;
32
- if (authData.channel_data != null) {
33
- var channelData = JSON.parse(authData.channel_data);
34
- this.members.setMyID(channelData.user_id);
35
- } else {
36
- await this.pusher.user.signinDonePromise;
37
- if (this.pusher.user.user_data != null) {
38
- // If the user is signed in, get the id of the authenticated user
39
- // and allow the presence authorization to continue.
40
- this.members.setMyID(this.pusher.user.user_data.id);
41
- } else {
42
- let suffix = UrlStore.buildLogSuffix('authorizationEndpoint');
43
- Logger.error(
44
- `Invalid auth response for channel '${this.name}', ` +
45
- `expected 'channel_data' field. ${suffix}, ` +
46
- `or the user should be signed in.`
47
- );
48
- callback('Invalid auth response');
49
- return;
50
- }
51
- }
52
- }
53
- callback(error, authData);
54
- });
55
- }
56
-
57
- /** Handles presence and subscription events. For internal use only.
58
- *
59
- * @param {PusherEvent} event
60
- */
61
- handleEvent(event: PusherEvent) {
62
- var eventName = event.event;
63
- if (eventName.indexOf('pusher_internal:') === 0) {
64
- this.handleInternalEvent(event);
65
- } else {
66
- var data = event.data;
67
- var metadata: Metadata = {};
68
- if (event.user_id) {
69
- metadata.user_id = event.user_id;
70
- }
71
- this.emit(eventName, data, metadata);
72
- }
73
- }
74
- handleInternalEvent(event: PusherEvent) {
75
- var eventName = event.event;
76
- var data = event.data;
77
- switch (eventName) {
78
- case 'pusher_internal:subscription_succeeded':
79
- this.handleSubscriptionSucceededEvent(event);
80
- break;
81
- case 'pusher_internal:subscription_count':
82
- this.handleSubscriptionCountEvent(event);
83
- break;
84
- case 'pusher_internal:member_added':
85
- var addedMember = this.members.addMember(data);
86
- this.emit('pusher:member_added', addedMember);
87
- break;
88
- case 'pusher_internal:member_removed':
89
- var removedMember = this.members.removeMember(data);
90
- if (removedMember) {
91
- this.emit('pusher:member_removed', removedMember);
92
- }
93
- break;
94
- }
95
- }
96
-
97
- handleSubscriptionSucceededEvent(event: PusherEvent) {
98
- this.subscriptionPending = false;
99
- this.subscribed = true;
100
- if (this.subscriptionCancelled) {
101
- this.pusher.unsubscribe(this.name);
102
- } else {
103
- this.members.onSubscription(event.data);
104
- this.emit('pusher:subscription_succeeded', this.members);
105
- }
106
- }
107
-
108
- /** Resets the channel state, including members map. For internal use only. */
109
- disconnect() {
110
- this.members.reset();
111
- super.disconnect();
112
- }
113
- }
@@ -1,25 +0,0 @@
1
- import Factory from '../utils/factory';
2
- import Channel from './channel';
3
- import { ChannelAuthorizationCallback } from '../auth/options';
4
-
5
- /** Extends public channels to provide private channel interface.
6
- *
7
- * @param {String} name
8
- * @param {Pusher} pusher
9
- */
10
- export default class PrivateChannel extends Channel {
11
- /** Authorizes the connection to use the channel.
12
- *
13
- * @param {String} socketId
14
- * @param {Function} callback
15
- */
16
- authorize(socketId: string, callback: ChannelAuthorizationCallback) {
17
- return this.pusher.config.channelAuthorizer(
18
- {
19
- channelName: this.name,
20
- socketId: socketId
21
- },
22
- callback
23
- );
24
- }
25
- }
@@ -1,189 +0,0 @@
1
- import Runtime from 'runtime';
2
- import * as nacl from 'tweetnacl';
3
- import ChannelAuthorizer from './auth/channel_authorizer';
4
- import { ChannelAuthorizerProxy } from './auth/deprecated_channel_authorizer';
5
- import {
6
- ChannelAuthorizationHandler,
7
- ChannelAuthorizationOptions,
8
- UserAuthenticationHandler
9
- } from './auth/options';
10
- import UserAuthenticator from './auth/user_authenticator';
11
- import Defaults from './defaults';
12
- import { Options } from './options';
13
-
14
- export type AuthTransport = 'ajax' | 'jsonp';
15
- export type Transport =
16
- | 'ws'
17
- | 'wss'
18
- | 'xhr_streaming'
19
- | 'xhr_polling'
20
- | 'sockjs';
21
-
22
- export interface Config {
23
- // these are all 'required' config parameters, it's not necessary for the user
24
- // to set them, but they have configured defaults.
25
- activityTimeout: number;
26
- enableStats: boolean;
27
- httpHost: string;
28
- httpPath: string;
29
- httpPort: number;
30
- httpsPort: number;
31
- pongTimeout: number;
32
- statsHost: string;
33
- unavailableTimeout: number;
34
- useTLS: boolean;
35
- wsHost: string;
36
- wsPath: string;
37
- wsPort: number;
38
- wssPort: number;
39
- userAuthenticator: UserAuthenticationHandler;
40
- channelAuthorizer: ChannelAuthorizationHandler;
41
-
42
- // these are all optional parameters or overrrides. The customer can set these
43
- // but it's not strictly necessary
44
- forceTLS?: boolean;
45
- cluster?: string;
46
- disabledTransports?: Transport[];
47
- enabledTransports?: Transport[];
48
- ignoreNullOrigin?: boolean;
49
- nacl?: nacl;
50
- timelineParams?: any;
51
- }
52
-
53
- // getConfig mainly sets the defaults for the options that are not provided
54
- export function getConfig(opts: Options, pusher): Config {
55
- let config: Config = {
56
- activityTimeout: opts.activityTimeout || Defaults.activityTimeout,
57
- cluster: opts.cluster,
58
- httpPath: opts.httpPath || Defaults.httpPath,
59
- httpPort: opts.httpPort || Defaults.httpPort,
60
- httpsPort: opts.httpsPort || Defaults.httpsPort,
61
- pongTimeout: opts.pongTimeout || Defaults.pongTimeout,
62
- statsHost: opts.statsHost || Defaults.stats_host,
63
- unavailableTimeout: opts.unavailableTimeout || Defaults.unavailableTimeout,
64
- wsPath: opts.wsPath || Defaults.wsPath,
65
- wsPort: opts.wsPort || Defaults.wsPort,
66
- wssPort: opts.wssPort || Defaults.wssPort,
67
-
68
- enableStats: getEnableStatsConfig(opts),
69
- httpHost: getHttpHost(opts),
70
- useTLS: shouldUseTLS(opts),
71
- wsHost: getWebsocketHost(opts),
72
-
73
- userAuthenticator: buildUserAuthenticator(opts),
74
- channelAuthorizer: buildChannelAuthorizer(opts, pusher)
75
- };
76
-
77
- if ('disabledTransports' in opts)
78
- config.disabledTransports = opts.disabledTransports;
79
- if ('enabledTransports' in opts)
80
- config.enabledTransports = opts.enabledTransports;
81
- if ('ignoreNullOrigin' in opts)
82
- config.ignoreNullOrigin = opts.ignoreNullOrigin;
83
- if ('timelineParams' in opts) config.timelineParams = opts.timelineParams;
84
- if ('nacl' in opts) {
85
- config.nacl = opts.nacl;
86
- }
87
-
88
- return config;
89
- }
90
-
91
- function getHttpHost(opts: Options): string {
92
- if (opts.httpHost) {
93
- return opts.httpHost;
94
- }
95
- if (opts.cluster) {
96
- return `sockjs.pingerchips.com`;
97
- }
98
- return Defaults.httpHost;
99
- }
100
-
101
- function getWebsocketHost(opts: Options): string {
102
- if (opts.wsHost) {
103
- return opts.wsHost;
104
- }
105
- return getWebsocketHostFromCluster(opts.cluster);
106
- }
107
-
108
- function getWebsocketHostFromCluster(cluster: string): string {
109
- return `ws.pingerchips.com`;
110
- }
111
-
112
- function shouldUseTLS(opts: Options): boolean {
113
- if (Runtime.getProtocol() === 'https:') {
114
- return true;
115
- } else if (opts.forceTLS === false) {
116
- return false;
117
- }
118
- return true;
119
- }
120
-
121
- // if enableStats is set take the value
122
- // if disableStats is set take the inverse
123
- // otherwise default to false
124
- function getEnableStatsConfig(opts: Options): boolean {
125
- if ('enableStats' in opts) {
126
- return opts.enableStats;
127
- }
128
- if ('disableStats' in opts) {
129
- return !opts.disableStats;
130
- }
131
- return false;
132
- }
133
-
134
- function buildUserAuthenticator(opts: Options): UserAuthenticationHandler {
135
- const userAuthentication = {
136
- ...Defaults.userAuthentication,
137
- ...opts.userAuthentication
138
- };
139
- if (
140
- 'customHandler' in userAuthentication &&
141
- userAuthentication['customHandler'] != null
142
- ) {
143
- return userAuthentication['customHandler'];
144
- }
145
-
146
- return UserAuthenticator(userAuthentication);
147
- }
148
-
149
- function buildChannelAuth(opts: Options, pusher): ChannelAuthorizationOptions {
150
- let channelAuthorization: ChannelAuthorizationOptions;
151
- if ('channelAuthorization' in opts) {
152
- channelAuthorization = {
153
- ...Defaults.channelAuthorization,
154
- ...opts.channelAuthorization
155
- };
156
- } else {
157
- channelAuthorization = {
158
- transport: opts.authTransport || Defaults.authTransport,
159
- endpoint: opts.authEndpoint || Defaults.authEndpoint
160
- };
161
- if ('auth' in opts) {
162
- if ('params' in opts.auth) channelAuthorization.params = opts.auth.params;
163
- if ('headers' in opts.auth)
164
- channelAuthorization.headers = opts.auth.headers;
165
- }
166
- if ('authorizer' in opts)
167
- channelAuthorization.customHandler = ChannelAuthorizerProxy(
168
- pusher,
169
- channelAuthorization,
170
- opts.authorizer
171
- );
172
- }
173
- return channelAuthorization;
174
- }
175
-
176
- function buildChannelAuthorizer(
177
- opts: Options,
178
- pusher
179
- ): ChannelAuthorizationHandler {
180
- const channelAuthorization = buildChannelAuth(opts, pusher);
181
- if (
182
- 'customHandler' in channelAuthorization &&
183
- channelAuthorization['customHandler'] != null
184
- ) {
185
- return channelAuthorization['customHandler'];
186
- }
187
-
188
- return ChannelAuthorizer(channelAuthorization);
189
- }
@@ -1,21 +0,0 @@
1
- import HandshakePayload from './handshake/handshake_payload';
2
- import Action from './protocol/action';
3
-
4
- export interface ErrorCallbacks {
5
- tls_only: (result: Action | HandshakePayload) => void;
6
- refused: (result: Action | HandshakePayload) => void;
7
- backoff: (result: Action | HandshakePayload) => void;
8
- retry: (result: Action | HandshakePayload) => void;
9
- }
10
-
11
- export interface HandshakeCallbacks {
12
- connected: (handshake: HandshakePayload) => void;
13
- }
14
-
15
- export interface ConnectionCallbacks {
16
- message: (message: any) => void;
17
- ping: () => void;
18
- activity: () => void;
19
- error: (error: any) => void;
20
- closed: () => void;
21
- }