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,160 +0,0 @@
1
- import * as Collections from '../utils/collections';
2
- import { default as EventsDispatcher } from '../events/dispatcher';
3
- import Protocol from './protocol/protocol';
4
- import { PusherEvent } from './protocol/message-types';
5
- import Logger from '../logger';
6
- import TransportConnection from '../transports/transport_connection';
7
- import Socket from '../socket';
8
- /**
9
- * Provides Pusher protocol interface for transports.
10
- *
11
- * Emits following events:
12
- * - message - on received messages
13
- * - ping - on ping requests
14
- * - pong - on pong responses
15
- * - error - when the transport emits an error
16
- * - closed - after closing the transport
17
- *
18
- * It also emits more events when connection closes with a code.
19
- * See Protocol.getCloseAction to get more details.
20
- *
21
- * @param {Number} id
22
- * @param {AbstractTransport} transport
23
- */
24
- export default class Connection extends EventsDispatcher implements Socket {
25
- id: string;
26
- transport: TransportConnection;
27
- activityTimeout: number;
28
-
29
- constructor(id: string, transport: TransportConnection) {
30
- super();
31
- this.id = id;
32
- this.transport = transport;
33
- this.activityTimeout = transport.activityTimeout;
34
- this.bindListeners();
35
- }
36
-
37
- /** Returns whether used transport handles activity checks by itself
38
- *
39
- * @returns {Boolean} true if activity checks are handled by the transport
40
- */
41
- handlesActivityChecks() {
42
- return this.transport.handlesActivityChecks();
43
- }
44
-
45
- /** Sends raw data.
46
- *
47
- * @param {String} data
48
- */
49
- send(data: any): boolean {
50
- return this.transport.send(data);
51
- }
52
-
53
- /** Sends an event.
54
- *
55
- * @param {String} name
56
- * @param {String} data
57
- * @param {String} [channel]
58
- * @returns {Boolean} whether message was sent or not
59
- */
60
- send_event(name: string, data: any, channel?: string): boolean {
61
- var event: PusherEvent = { event: name, data: data };
62
- if (channel) {
63
- event.channel = channel;
64
- }
65
- Logger.debug('Event sent', event);
66
- return this.send(Protocol.encodeMessage(event));
67
- }
68
-
69
- /** Sends a ping message to the server.
70
- *
71
- * Basing on the underlying transport, it might send either transport's
72
- * protocol-specific ping or pusher:ping event.
73
- */
74
- ping() {
75
- if (this.transport.supportsPing()) {
76
- this.transport.ping();
77
- } else {
78
- this.send_event('pusher:ping', {});
79
- }
80
- }
81
-
82
- /** Closes the connection. */
83
- close() {
84
- this.transport.close();
85
- }
86
-
87
- private bindListeners() {
88
- var listeners = {
89
- message: (messageEvent: MessageEvent) => {
90
- var pusherEvent;
91
- try {
92
- pusherEvent = Protocol.decodeMessage(messageEvent);
93
- } catch (e) {
94
- this.emit('error', {
95
- type: 'MessageParseError',
96
- error: e,
97
- data: messageEvent.data
98
- });
99
- }
100
-
101
- if (pusherEvent !== undefined) {
102
- Logger.debug('Event recd', pusherEvent);
103
-
104
- switch (pusherEvent.event) {
105
- case 'pusher:error':
106
- this.emit('error', {
107
- type: 'PusherError',
108
- data: pusherEvent.data
109
- });
110
- break;
111
- case 'pusher:ping':
112
- this.emit('ping');
113
- break;
114
- case 'pusher:pong':
115
- this.emit('pong');
116
- break;
117
- }
118
- this.emit('message', pusherEvent);
119
- }
120
- },
121
- activity: () => {
122
- this.emit('activity');
123
- },
124
- error: error => {
125
- this.emit('error', error);
126
- },
127
- closed: closeEvent => {
128
- unbindListeners();
129
-
130
- if (closeEvent && closeEvent.code) {
131
- this.handleCloseEvent(closeEvent);
132
- }
133
-
134
- this.transport = null;
135
- this.emit('closed');
136
- }
137
- };
138
-
139
- var unbindListeners = () => {
140
- Collections.objectApply(listeners, (listener, event) => {
141
- this.transport.unbind(event, listener);
142
- });
143
- };
144
-
145
- Collections.objectApply(listeners, (listener, event) => {
146
- this.transport.bind(event, listener);
147
- });
148
- }
149
-
150
- private handleCloseEvent(closeEvent: any) {
151
- var action = Protocol.getCloseAction(closeEvent);
152
- var error = Protocol.getCloseError(closeEvent);
153
- if (error) {
154
- this.emit('error', error);
155
- }
156
- if (action) {
157
- this.emit(action, { action: action, error: error });
158
- }
159
- }
160
- }
@@ -1,371 +0,0 @@
1
- import { default as EventsDispatcher } from '../events/dispatcher';
2
- import { OneOffTimer as Timer } from '../utils/timers';
3
- import { Config } from '../config';
4
- import Logger from '../logger';
5
- import HandshakePayload from './handshake/handshake_payload';
6
- import Connection from './connection';
7
- import Strategy from '../strategies/strategy';
8
- import StrategyRunner from '../strategies/strategy_runner';
9
- import * as Collections from '../utils/collections';
10
- import Timeline from '../timeline/timeline';
11
- import ConnectionManagerOptions from './connection_manager_options';
12
- import Runtime from 'runtime';
13
-
14
- import {
15
- ErrorCallbacks,
16
- HandshakeCallbacks,
17
- ConnectionCallbacks
18
- } from './callbacks';
19
- import Action from './protocol/action';
20
-
21
- /** Manages connection to Pusher.
22
- *
23
- * Uses a strategy (currently only default), timers and network availability
24
- * info to establish a connection and export its state. In case of failures,
25
- * manages reconnection attempts.
26
- *
27
- * Exports state changes as following events:
28
- * - "state_change", { previous: p, current: state }
29
- * - state
30
- *
31
- * States:
32
- * - initialized - initial state, never transitioned to
33
- * - connecting - connection is being established
34
- * - connected - connection has been fully established
35
- * - disconnected - on requested disconnection
36
- * - unavailable - after connection timeout or when there's no network
37
- * - failed - when the connection strategy is not supported
38
- *
39
- * Options:
40
- * - unavailableTimeout - time to transition to unavailable state
41
- * - activityTimeout - time after which ping message should be sent
42
- * - pongTimeout - time for Pusher to respond with pong before reconnecting
43
- *
44
- * @param {String} key application key
45
- * @param {Object} options
46
- */
47
- export default class ConnectionManager extends EventsDispatcher {
48
- key: string;
49
- options: ConnectionManagerOptions;
50
- state: string;
51
- connection: Connection;
52
- usingTLS: boolean;
53
- timeline: Timeline;
54
- socket_id: string;
55
- unavailableTimer: Timer;
56
- activityTimer: Timer;
57
- retryTimer: Timer;
58
- activityTimeout: number;
59
- strategy: Strategy;
60
- runner: StrategyRunner;
61
- errorCallbacks: ErrorCallbacks;
62
- handshakeCallbacks: HandshakeCallbacks;
63
- connectionCallbacks: ConnectionCallbacks;
64
-
65
- constructor(key: string, options: ConnectionManagerOptions) {
66
- super();
67
- this.state = 'initialized';
68
- this.connection = null;
69
-
70
- this.key = key;
71
- this.options = options;
72
- this.timeline = this.options.timeline;
73
- this.usingTLS = this.options.useTLS;
74
-
75
- this.errorCallbacks = this.buildErrorCallbacks();
76
- this.connectionCallbacks = this.buildConnectionCallbacks(
77
- this.errorCallbacks
78
- );
79
- this.handshakeCallbacks = this.buildHandshakeCallbacks(this.errorCallbacks);
80
-
81
- var Network = Runtime.getNetwork();
82
-
83
- Network.bind('online', () => {
84
- this.timeline.info({ netinfo: 'online' });
85
- if (this.state === 'connecting' || this.state === 'unavailable') {
86
- this.retryIn(0);
87
- }
88
- });
89
- Network.bind('offline', () => {
90
- this.timeline.info({ netinfo: 'offline' });
91
- if (this.connection) {
92
- this.sendActivityCheck();
93
- }
94
- });
95
-
96
- this.updateStrategy();
97
- }
98
-
99
- /** Establishes a connection to Pusher.
100
- *
101
- * Does nothing when connection is already established. See top-level doc
102
- * to find events emitted on connection attempts.
103
- */
104
- connect() {
105
- if (this.connection || this.runner) {
106
- return;
107
- }
108
- if (!this.strategy.isSupported()) {
109
- this.updateState('failed');
110
- return;
111
- }
112
- this.updateState('connecting');
113
- this.startConnecting();
114
- this.setUnavailableTimer();
115
- }
116
-
117
- /** Sends raw data.
118
- *
119
- * @param {String} data
120
- */
121
- send(data) {
122
- if (this.connection) {
123
- return this.connection.send(data);
124
- } else {
125
- return false;
126
- }
127
- }
128
-
129
- /** Sends an event.
130
- *
131
- * @param {String} name
132
- * @param {String} data
133
- * @param {String} [channel]
134
- * @returns {Boolean} whether message was sent or not
135
- */
136
- send_event(name: string, data: any, channel?: string) {
137
- if (this.connection) {
138
- return this.connection.send_event(name, data, channel);
139
- } else {
140
- return false;
141
- }
142
- }
143
-
144
- /** Closes the connection. */
145
- disconnect() {
146
- this.disconnectInternally();
147
- this.updateState('disconnected');
148
- }
149
-
150
- isUsingTLS() {
151
- return this.usingTLS;
152
- }
153
-
154
- private startConnecting() {
155
- var callback = (error, handshake) => {
156
- if (error) {
157
- this.runner = this.strategy.connect(0, callback);
158
- } else {
159
- if (handshake.action === 'error') {
160
- this.emit('error', {
161
- type: 'HandshakeError',
162
- error: handshake.error
163
- });
164
- this.timeline.error({ handshakeError: handshake.error });
165
- } else {
166
- this.abortConnecting(); // we don't support switching connections yet
167
- this.handshakeCallbacks[handshake.action](handshake);
168
- }
169
- }
170
- };
171
- this.runner = this.strategy.connect(0, callback);
172
- }
173
-
174
- private abortConnecting() {
175
- if (this.runner) {
176
- this.runner.abort();
177
- this.runner = null;
178
- }
179
- }
180
-
181
- private disconnectInternally() {
182
- this.abortConnecting();
183
- this.clearRetryTimer();
184
- this.clearUnavailableTimer();
185
- if (this.connection) {
186
- var connection = this.abandonConnection();
187
- connection.close();
188
- }
189
- }
190
-
191
- private updateStrategy() {
192
- this.strategy = this.options.getStrategy({
193
- key: this.key,
194
- timeline: this.timeline,
195
- useTLS: this.usingTLS
196
- });
197
- }
198
-
199
- private retryIn(delay) {
200
- this.timeline.info({ action: 'retry', delay: delay });
201
- if (delay > 0) {
202
- this.emit('connecting_in', Math.round(delay / 1000));
203
- }
204
- this.retryTimer = new Timer(delay || 0, () => {
205
- this.disconnectInternally();
206
- this.connect();
207
- });
208
- }
209
-
210
- private clearRetryTimer() {
211
- if (this.retryTimer) {
212
- this.retryTimer.ensureAborted();
213
- this.retryTimer = null;
214
- }
215
- }
216
-
217
- private setUnavailableTimer() {
218
- this.unavailableTimer = new Timer(this.options.unavailableTimeout, () => {
219
- this.updateState('unavailable');
220
- });
221
- }
222
-
223
- private clearUnavailableTimer() {
224
- if (this.unavailableTimer) {
225
- this.unavailableTimer.ensureAborted();
226
- }
227
- }
228
-
229
- private sendActivityCheck() {
230
- this.stopActivityCheck();
231
- this.connection.ping();
232
- // wait for pong response
233
- this.activityTimer = new Timer(this.options.pongTimeout, () => {
234
- this.timeline.error({ pong_timed_out: this.options.pongTimeout });
235
- this.retryIn(0);
236
- });
237
- }
238
-
239
- private resetActivityCheck() {
240
- this.stopActivityCheck();
241
- // send ping after inactivity
242
- if (this.connection && !this.connection.handlesActivityChecks()) {
243
- this.activityTimer = new Timer(this.activityTimeout, () => {
244
- this.sendActivityCheck();
245
- });
246
- }
247
- }
248
-
249
- private stopActivityCheck() {
250
- if (this.activityTimer) {
251
- this.activityTimer.ensureAborted();
252
- }
253
- }
254
-
255
- private buildConnectionCallbacks(
256
- errorCallbacks: ErrorCallbacks
257
- ): ConnectionCallbacks {
258
- return Collections.extend<ConnectionCallbacks>({}, errorCallbacks, {
259
- message: message => {
260
- // includes pong messages from server
261
- this.resetActivityCheck();
262
- this.emit('message', message);
263
- },
264
- ping: () => {
265
- this.send_event('pusher:pong', {});
266
- },
267
- activity: () => {
268
- this.resetActivityCheck();
269
- },
270
- error: error => {
271
- // just emit error to user - socket will already be closed by browser
272
- this.emit('error', error);
273
- },
274
- closed: () => {
275
- this.abandonConnection();
276
- if (this.shouldRetry()) {
277
- this.retryIn(1000);
278
- }
279
- }
280
- });
281
- }
282
-
283
- private buildHandshakeCallbacks(
284
- errorCallbacks: ErrorCallbacks
285
- ): HandshakeCallbacks {
286
- return Collections.extend<HandshakeCallbacks>({}, errorCallbacks, {
287
- connected: (handshake: HandshakePayload) => {
288
- this.activityTimeout = Math.min(
289
- this.options.activityTimeout,
290
- handshake.activityTimeout,
291
- handshake.connection.activityTimeout || Infinity
292
- );
293
- this.clearUnavailableTimer();
294
- this.setConnection(handshake.connection);
295
- this.socket_id = this.connection.id;
296
- this.updateState('connected', { socket_id: this.socket_id });
297
- }
298
- });
299
- }
300
-
301
- private buildErrorCallbacks(): ErrorCallbacks {
302
- let withErrorEmitted = callback => {
303
- return (result: Action | HandshakePayload) => {
304
- if (result.error) {
305
- this.emit('error', { type: 'WebSocketError', error: result.error });
306
- }
307
- callback(result);
308
- };
309
- };
310
-
311
- return {
312
- tls_only: withErrorEmitted(() => {
313
- this.usingTLS = true;
314
- this.updateStrategy();
315
- this.retryIn(0);
316
- }),
317
- refused: withErrorEmitted(() => {
318
- this.disconnect();
319
- }),
320
- backoff: withErrorEmitted(() => {
321
- this.retryIn(1000);
322
- }),
323
- retry: withErrorEmitted(() => {
324
- this.retryIn(0);
325
- })
326
- };
327
- }
328
-
329
- private setConnection(connection) {
330
- this.connection = connection;
331
- for (var event in this.connectionCallbacks) {
332
- this.connection.bind(event, this.connectionCallbacks[event]);
333
- }
334
- this.resetActivityCheck();
335
- }
336
-
337
- private abandonConnection() {
338
- if (!this.connection) {
339
- return;
340
- }
341
- this.stopActivityCheck();
342
- for (var event in this.connectionCallbacks) {
343
- this.connection.unbind(event, this.connectionCallbacks[event]);
344
- }
345
- var connection = this.connection;
346
- this.connection = null;
347
- return connection;
348
- }
349
-
350
- private updateState(newState: string, data?: any) {
351
- var previousState = this.state;
352
- this.state = newState;
353
- if (previousState !== newState) {
354
- var newStateDescription = newState;
355
- if (newStateDescription === 'connected') {
356
- newStateDescription += ' with new socket ID ' + data.socket_id;
357
- }
358
- Logger.debug(
359
- 'State changed',
360
- previousState + ' -> ' + newStateDescription
361
- );
362
- this.timeline.info({ state: newState, params: data });
363
- this.emit('state_change', { previous: previousState, current: newState });
364
- this.emit(newState, data);
365
- }
366
- }
367
-
368
- private shouldRetry(): boolean {
369
- return this.state === 'connecting' || this.state === 'connected';
370
- }
371
- }
@@ -1,14 +0,0 @@
1
- import Timeline from '../timeline/timeline';
2
- import Strategy from '../strategies/strategy';
3
- import StategyOptions from '../strategies/strategy_options';
4
-
5
- interface ConnectionManagerOptions {
6
- timeline: Timeline;
7
- getStrategy: (StrategyOptions) => Strategy;
8
- unavailableTimeout: number;
9
- pongTimeout: number;
10
- activityTimeout: number;
11
- useTLS: boolean;
12
- }
13
-
14
- export default ConnectionManagerOptions;
@@ -1,10 +0,0 @@
1
- import TransportConnection from '../../transports/transport_connection';
2
- import Action from '../protocol/action';
3
- import Connection from '../connection';
4
-
5
- interface HandshakePayload extends Action {
6
- transport: TransportConnection;
7
- connection?: Connection;
8
- }
9
-
10
- export default HandshakePayload;
@@ -1,90 +0,0 @@
1
- import Util from '../../util';
2
- import * as Collections from '../../utils/collections';
3
- import Protocol from '../protocol/protocol';
4
- import Connection from '../connection';
5
- import TransportConnection from '../../transports/transport_connection';
6
- import HandshakePayload from './handshake_payload';
7
-
8
- /**
9
- * Handles Pusher protocol handshakes for transports.
10
- *
11
- * Calls back with a result object after handshake is completed. Results
12
- * always have two fields:
13
- * - action - string describing action to be taken after the handshake
14
- * - transport - the transport object passed to the constructor
15
- *
16
- * Different actions can set different additional properties on the result.
17
- * In the case of 'connected' action, there will be a 'connection' property
18
- * containing a Connection object for the transport. Other actions should
19
- * carry an 'error' property.
20
- *
21
- * @param {AbstractTransport} transport
22
- * @param {Function} callback
23
- */
24
- export default class Handshake {
25
- transport: TransportConnection;
26
- callback: (HandshakePayload) => void;
27
- onMessage: Function;
28
- onClosed: Function;
29
-
30
- constructor(
31
- transport: TransportConnection,
32
- callback: (HandshakePayload) => void
33
- ) {
34
- this.transport = transport;
35
- this.callback = callback;
36
- this.bindListeners();
37
- }
38
-
39
- close() {
40
- this.unbindListeners();
41
- this.transport.close();
42
- }
43
-
44
- private bindListeners() {
45
- this.onMessage = m => {
46
- this.unbindListeners();
47
-
48
- var result;
49
- try {
50
- result = Protocol.processHandshake(m);
51
- } catch (e) {
52
- this.finish('error', { error: e });
53
- this.transport.close();
54
- return;
55
- }
56
-
57
- if (result.action === 'connected') {
58
- this.finish('connected', {
59
- connection: new Connection(result.id, this.transport),
60
- activityTimeout: result.activityTimeout
61
- });
62
- } else {
63
- this.finish(result.action, { error: result.error });
64
- this.transport.close();
65
- }
66
- };
67
-
68
- this.onClosed = closeEvent => {
69
- this.unbindListeners();
70
-
71
- var action = Protocol.getCloseAction(closeEvent) || 'backoff';
72
- var error = Protocol.getCloseError(closeEvent);
73
- this.finish(action, { error: error });
74
- };
75
-
76
- this.transport.bind('message', this.onMessage);
77
- this.transport.bind('closed', this.onClosed);
78
- }
79
-
80
- private unbindListeners() {
81
- this.transport.unbind('message', this.onMessage);
82
- this.transport.unbind('closed', this.onClosed);
83
- }
84
-
85
- private finish(action: string, params: any) {
86
- this.callback(
87
- Collections.extend({ transport: this.transport, action: action }, params)
88
- );
89
- }
90
- }
@@ -1,8 +0,0 @@
1
- interface Action {
2
- action: string;
3
- id?: string;
4
- activityTimeout?: number;
5
- error?: any;
6
- }
7
-
8
- export default Action;
@@ -1,8 +0,0 @@
1
- interface PusherEvent {
2
- event: string;
3
- channel?: string;
4
- data?: any;
5
- user_id?: string;
6
- }
7
-
8
- export { PusherEvent };