pingerchips-js 1.0.0 → 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 (435) 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/pusher.js +0 -10870
  19. package/dist/node/pusher.js.map +0 -1
  20. package/dist/react-native/pusher.js +0 -9
  21. package/dist/react-native/pusher.js.map +0 -1
  22. package/dist/web/json2.js +0 -486
  23. package/dist/web/json2.min.js +0 -1
  24. package/dist/web/pusher-with-encryption.js +0 -7009
  25. package/dist/web/pusher-with-encryption.js.map +0 -1
  26. package/dist/web/pusher-with-encryption.min.js +0 -9
  27. package/dist/web/pusher-with-encryption.min.js.map +0 -1
  28. package/dist/web/pusher.js +0 -4587
  29. package/dist/web/pusher.js.map +0 -1
  30. package/dist/web/pusher.min.js +0 -9
  31. package/dist/web/pusher.min.js.map +0 -1
  32. package/dist/web/sockjs.js +0 -2435
  33. package/dist/web/sockjs.min.js +0 -89
  34. package/dist/worker/pusher-with-encryption.worker.js +0 -6622
  35. package/dist/worker/pusher-with-encryption.worker.js.map +0 -1
  36. package/dist/worker/pusher-with-encryption.worker.min.js +0 -9
  37. package/dist/worker/pusher-with-encryption.worker.min.js.map +0 -1
  38. package/dist/worker/pusher.worker.js +0 -4200
  39. package/dist/worker/pusher.worker.js.map +0 -1
  40. package/dist/worker/pusher.worker.min.js +0 -9
  41. package/dist/worker/pusher.worker.min.js.map +0 -1
  42. package/index.d.ts +0 -29
  43. package/integration_tests_server/index.js +0 -176
  44. package/integration_tests_server/package-lock.json +0 -1177
  45. package/integration_tests_server/package.json +0 -15
  46. package/node.js +0 -1
  47. package/pusher-with-encryption/index.js +0 -1
  48. package/react-native/index.d.ts +0 -29
  49. package/react-native/index.js +0 -1
  50. package/spec/config/jasmine/helpers/reporter.js +0 -14
  51. package/spec/config/jasmine/integration.json +0 -13
  52. package/spec/config/jasmine/unit.json +0 -13
  53. package/spec/config/jasmine/webpack.integration.js +0 -33
  54. package/spec/config/jasmine/webpack.unit.js +0 -30
  55. package/spec/config/karma/available_browsers.json +0 -4957
  56. package/spec/config/karma/config.ci.js +0 -25
  57. package/spec/config/karma/config.common.js +0 -50
  58. package/spec/config/karma/config.integration.js +0 -26
  59. package/spec/config/karma/config.unit.js +0 -10
  60. package/spec/config/karma/config.worker.js +0 -34
  61. package/spec/config/karma/integration.js +0 -24
  62. package/spec/config/karma/unit.js +0 -20
  63. package/spec/javascripts/helpers/mocks.js +0 -274
  64. package/spec/javascripts/helpers/node/integration.js +0 -33
  65. package/spec/javascripts/helpers/node/mock-dom-dependencies.ts +0 -1
  66. package/spec/javascripts/helpers/pusher_integration.js +0 -1
  67. package/spec/javascripts/helpers/pusher_integration_class.ts +0 -12
  68. package/spec/javascripts/helpers/timers/promises.js +0 -9
  69. package/spec/javascripts/helpers/waitsFor.js +0 -37
  70. package/spec/javascripts/helpers/web/integration.js +0 -44
  71. package/spec/javascripts/helpers/worker/mock-dom-dependencies.js +0 -1
  72. package/spec/javascripts/integration/core/cluster_config_spec.js +0 -153
  73. package/spec/javascripts/integration/core/falling_back_spec.js +0 -195
  74. package/spec/javascripts/integration/core/pusher_spec/index.js +0 -68
  75. package/spec/javascripts/integration/core/pusher_spec/test_builder.js +0 -715
  76. package/spec/javascripts/integration/core/timeout_configuration_spec.js +0 -200
  77. package/spec/javascripts/integration/core/transport_lists_spec.js +0 -103
  78. package/spec/javascripts/integration/index.node.js +0 -12
  79. package/spec/javascripts/integration/index.web.js +0 -63
  80. package/spec/javascripts/integration/index.worker.js +0 -13
  81. package/spec/javascripts/integration/web/dom/jsonp_spec.js +0 -97
  82. package/spec/javascripts/integration/web/dom/script_request_spec.js +0 -90
  83. package/spec/javascripts/polyfills/index.js +0 -105
  84. package/spec/javascripts/unit/core/channels/channel_spec.js +0 -355
  85. package/spec/javascripts/unit/core/channels/channels_spec.js +0 -94
  86. package/spec/javascripts/unit/core/channels/encrypted_channel_spec.js +0 -343
  87. package/spec/javascripts/unit/core/channels/presence_channel_spec.js +0 -553
  88. package/spec/javascripts/unit/core/channels/private_channel_spec.js +0 -182
  89. package/spec/javascripts/unit/core/config_spec.js +0 -507
  90. package/spec/javascripts/unit/core/connection/connection_manager_spec.js +0 -656
  91. package/spec/javascripts/unit/core/connection/connection_spec.js +0 -286
  92. package/spec/javascripts/unit/core/connection/handshake_spec.js +0 -160
  93. package/spec/javascripts/unit/core/connection/protocol_spec.js +0 -420
  94. package/spec/javascripts/unit/core/defaults_spec.js +0 -26
  95. package/spec/javascripts/unit/core/events_dispatcher_spec.js +0 -385
  96. package/spec/javascripts/unit/core/http/http_polling_socket_spec.js +0 -60
  97. package/spec/javascripts/unit/core/http/http_request_spec.js +0 -185
  98. package/spec/javascripts/unit/core/http/http_socket_spec.js +0 -370
  99. package/spec/javascripts/unit/core/http/http_streaming_socket_spec.js +0 -56
  100. package/spec/javascripts/unit/core/http/http_xhr_request_spec.js +0 -164
  101. package/spec/javascripts/unit/core/logger_spec.js +0 -133
  102. package/spec/javascripts/unit/core/pusher_spec.js +0 -613
  103. package/spec/javascripts/unit/core/pusher_with_encryption_spec.js +0 -18
  104. package/spec/javascripts/unit/core/strategies/best_connected_ever_strategy_spec.js +0 -104
  105. package/spec/javascripts/unit/core/strategies/delayed_strategy_spec.js +0 -95
  106. package/spec/javascripts/unit/core/strategies/first_connected_strategy_spec.js +0 -68
  107. package/spec/javascripts/unit/core/strategies/if_strategy_spec.js +0 -165
  108. package/spec/javascripts/unit/core/strategies/sequential_strategy_spec.js +0 -213
  109. package/spec/javascripts/unit/core/strategies/transport_strategy_spec.js +0 -250
  110. package/spec/javascripts/unit/core/strategies/websocket_prioritized_cached_strategy_spec.js +0 -400
  111. package/spec/javascripts/unit/core/timeline/timeline_spec.js +0 -153
  112. package/spec/javascripts/unit/core/transports/assistant_to_the_transport_manager_spec.js +0 -223
  113. package/spec/javascripts/unit/core/transports/hosts_and_ports_spec.js +0 -85
  114. package/spec/javascripts/unit/core/transports/transport_connection_spec.js +0 -585
  115. package/spec/javascripts/unit/core/transports/transport_manager_spec.js +0 -64
  116. package/spec/javascripts/unit/core/user_spec.js +0 -303
  117. package/spec/javascripts/unit/core/utils/periodic_timer_spec.js +0 -74
  118. package/spec/javascripts/unit/core/utils/timers_spec.js +0 -157
  119. package/spec/javascripts/unit/core/utils/url_store_spec.js +0 -14
  120. package/spec/javascripts/unit/core/watchlist_spec.js +0 -48
  121. package/spec/javascripts/unit/core_with_runtime/auth/channel_authorizer_spec.js +0 -137
  122. package/spec/javascripts/unit/core_with_runtime/auth/deprecated_channel_authorizer_spec.js +0 -48
  123. package/spec/javascripts/unit/core_with_runtime/auth/user_authorizer_spec.js +0 -128
  124. package/spec/javascripts/unit/core_with_runtime/readme.md +0 -5
  125. package/spec/javascripts/unit/index.node.js +0 -11
  126. package/spec/javascripts/unit/index.web.js +0 -12
  127. package/spec/javascripts/unit/index.worker.js +0 -11
  128. package/spec/javascripts/unit/isomorphic/transports/hosts_and_ports_spec.js +0 -82
  129. package/spec/javascripts/unit/isomorphic/transports/transports_spec.js +0 -202
  130. package/spec/javascripts/unit/node/timeline_sender_spec.js +0 -83
  131. package/spec/javascripts/unit/web/dom/dependency_loader_spec.js +0 -249
  132. package/spec/javascripts/unit/web/dom/jsonp_request_spec.js +0 -130
  133. package/spec/javascripts/unit/web/dom/script_receiver_factory_spec.js +0 -68
  134. package/spec/javascripts/unit/web/http/http_xdomain_request_spec.js +0 -222
  135. package/spec/javascripts/unit/web/pusher_authorizer_spec.js +0 -64
  136. package/spec/javascripts/unit/web/timeline/timeline_sender_spec.js +0 -131
  137. package/spec/javascripts/unit/web/transports/hosts_and_ports_spec.js +0 -127
  138. package/spec/javascripts/unit/web/transports/transports_spec.js +0 -444
  139. package/spec/javascripts/unit/worker/channel_authorizer_spec.js +0 -156
  140. package/spec/javascripts/unit/worker/timeline_sender_spec.js +0 -76
  141. package/src/core/auth/auth_transports.ts +0 -18
  142. package/src/core/auth/channel_authorizer.ts +0 -64
  143. package/src/core/auth/deprecated_channel_authorizer.ts +0 -58
  144. package/src/core/auth/options.ts +0 -78
  145. package/src/core/auth/user_authenticator.ts +0 -62
  146. package/src/core/base64.ts +0 -49
  147. package/src/core/channels/channel.ts +0 -163
  148. package/src/core/channels/channel_table.ts +0 -7
  149. package/src/core/channels/channels.ts +0 -85
  150. package/src/core/channels/encrypted_channel.ts +0 -149
  151. package/src/core/channels/members.ts +0 -80
  152. package/src/core/channels/metadata.ts +0 -5
  153. package/src/core/channels/presence_channel.ts +0 -113
  154. package/src/core/channels/private_channel.ts +0 -25
  155. package/src/core/config.ts +0 -189
  156. package/src/core/connection/callbacks.ts +0 -21
  157. package/src/core/connection/connection.ts +0 -160
  158. package/src/core/connection/connection_manager.ts +0 -371
  159. package/src/core/connection/connection_manager_options.ts +0 -14
  160. package/src/core/connection/handshake/handshake_payload.ts +0 -10
  161. package/src/core/connection/handshake/index.ts +0 -90
  162. package/src/core/connection/protocol/action.ts +0 -8
  163. package/src/core/connection/protocol/message-types.ts +0 -8
  164. package/src/core/connection/protocol/protocol.ts +0 -154
  165. package/src/core/defaults.ts +0 -66
  166. package/src/core/errors.ts +0 -69
  167. package/src/core/events/callback.ts +0 -6
  168. package/src/core/events/callback_registry.ts +0 -75
  169. package/src/core/events/callback_table.ts +0 -7
  170. package/src/core/events/dispatcher.ts +0 -84
  171. package/src/core/http/ajax.ts +0 -24
  172. package/src/core/http/http_factory.ts +0 -16
  173. package/src/core/http/http_polling_socket.ts +0 -24
  174. package/src/core/http/http_request.ts +0 -81
  175. package/src/core/http/http_socket.ts +0 -220
  176. package/src/core/http/http_streaming_socket.ts +0 -19
  177. package/src/core/http/request_hooks.ts +0 -9
  178. package/src/core/http/socket_hooks.ts +0 -11
  179. package/src/core/http/state.ts +0 -7
  180. package/src/core/http/url_location.ts +0 -6
  181. package/src/core/logger.ts +0 -53
  182. package/src/core/options.ts +0 -59
  183. package/src/core/pusher-licence.js +0 -7
  184. package/src/core/pusher-with-encryption.js +0 -1
  185. package/src/core/pusher-with-encryption.ts +0 -14
  186. package/src/core/pusher.js +0 -2
  187. package/src/core/pusher.ts +0 -249
  188. package/src/core/reachability.ts +0 -7
  189. package/src/core/socket.ts +0 -14
  190. package/src/core/strategies/best_connected_ever_strategy.ts +0 -81
  191. package/src/core/strategies/delayed_strategy.ts +0 -48
  192. package/src/core/strategies/first_connected_strategy.ts +0 -28
  193. package/src/core/strategies/if_strategy.ts +0 -34
  194. package/src/core/strategies/sequential_strategy.ts +0 -129
  195. package/src/core/strategies/strategy.ts +0 -8
  196. package/src/core/strategies/strategy_builder.ts +0 -67
  197. package/src/core/strategies/strategy_options.ts +0 -18
  198. package/src/core/strategies/strategy_runner.ts +0 -6
  199. package/src/core/strategies/transport_strategy.ts +0 -144
  200. package/src/core/strategies/websocket_prioritized_cached_strategy.ts +0 -157
  201. package/src/core/timeline/level.ts +0 -7
  202. package/src/core/timeline/timeline.ts +0 -90
  203. package/src/core/timeline/timeline_sender.ts +0 -33
  204. package/src/core/timeline/timeline_transport.ts +0 -11
  205. package/src/core/transports/assistant_to_the_transport_manager.ts +0 -104
  206. package/src/core/transports/ping_delay_options.ts +0 -7
  207. package/src/core/transports/transport.ts +0 -54
  208. package/src/core/transports/transport_connection.ts +0 -241
  209. package/src/core/transports/transport_connection_options.ts +0 -8
  210. package/src/core/transports/transport_hooks.ts +0 -16
  211. package/src/core/transports/transport_manager.ts +0 -52
  212. package/src/core/transports/transports_table.ts +0 -12
  213. package/src/core/transports/url_scheme.ts +0 -13
  214. package/src/core/transports/url_schemes.ts +0 -47
  215. package/src/core/user.ts +0 -186
  216. package/src/core/util.ts +0 -34
  217. package/src/core/utils/collections.ts +0 -353
  218. package/src/core/utils/factory.ts +0 -75
  219. package/src/core/utils/flat_promise.ts +0 -10
  220. package/src/core/utils/timers/abstract_timer.ts +0 -39
  221. package/src/core/utils/timers/index.ts +0 -39
  222. package/src/core/utils/timers/scheduling.ts +0 -11
  223. package/src/core/utils/timers/timed_callback.ts +0 -5
  224. package/src/core/utils/url_store.ts +0 -48
  225. package/src/core/watchlist.ts +0 -31
  226. package/src/d.ts/constants/index.d.ts +0 -5
  227. package/src/d.ts/faye-websocket/faye-websocket.d.ts +0 -21
  228. package/src/d.ts/global/global.d.ts +0 -1
  229. package/src/d.ts/module/module.d.ts +0 -12
  230. package/src/d.ts/tweetnacl-util/index.d.ts +0 -6
  231. package/src/d.ts/window/events.d.ts +0 -4
  232. package/src/d.ts/window/sockjs.d.ts +0 -3
  233. package/src/d.ts/window/websocket.d.ts +0 -4
  234. package/src/d.ts/window/xmlhttprequest.d.ts +0 -3
  235. package/src/runtimes/interface.ts +0 -59
  236. package/src/runtimes/isomorphic/auth/xhr_auth.ts +0 -90
  237. package/src/runtimes/isomorphic/default_strategy.ts +0 -155
  238. package/src/runtimes/isomorphic/http/http.ts +0 -32
  239. package/src/runtimes/isomorphic/http/http_xhr_request.ts +0 -35
  240. package/src/runtimes/isomorphic/runtime.ts +0 -62
  241. package/src/runtimes/isomorphic/timeline/xhr_timeline.ts +0 -50
  242. package/src/runtimes/isomorphic/transports/transport_connection_initializer.ts +0 -19
  243. package/src/runtimes/isomorphic/transports/transports.ts +0 -81
  244. package/src/runtimes/node/net_info.ts +0 -10
  245. package/src/runtimes/node/runtime.ts +0 -68
  246. package/src/runtimes/react-native/net_info.ts +0 -42
  247. package/src/runtimes/react-native/runtime.ts +0 -65
  248. package/src/runtimes/web/auth/jsonp_auth.ts +0 -51
  249. package/src/runtimes/web/browser.ts +0 -24
  250. package/src/runtimes/web/default_strategy.ts +0 -201
  251. package/src/runtimes/web/dom/dependencies.ts +0 -16
  252. package/src/runtimes/web/dom/dependency_loader.ts +0 -93
  253. package/src/runtimes/web/dom/json2.js +0 -486
  254. package/src/runtimes/web/dom/jsonp_request.ts +0 -52
  255. package/src/runtimes/web/dom/script_receiver.ts +0 -8
  256. package/src/runtimes/web/dom/script_receiver_factory.ts +0 -57
  257. package/src/runtimes/web/dom/script_request.ts +0 -85
  258. package/src/runtimes/web/dom/sockjs/COPYING +0 -11
  259. package/src/runtimes/web/dom/sockjs/Changelog +0 -147
  260. package/src/runtimes/web/dom/sockjs/LICENSE-MIT-SockJS +0 -19
  261. package/src/runtimes/web/dom/sockjs/Makefile +0 -109
  262. package/src/runtimes/web/dom/sockjs/README.md +0 -388
  263. package/src/runtimes/web/dom/sockjs/VERSION-GEN +0 -17
  264. package/src/runtimes/web/dom/sockjs/bin/render.coffee +0 -111
  265. package/src/runtimes/web/dom/sockjs/bin/run_testling.sh +0 -135
  266. package/src/runtimes/web/dom/sockjs/lib/all.js +0 -9
  267. package/src/runtimes/web/dom/sockjs/lib/dom.js +0 -185
  268. package/src/runtimes/web/dom/sockjs/lib/dom2.js +0 -280
  269. package/src/runtimes/web/dom/sockjs/lib/eventemitter.js +0 -57
  270. package/src/runtimes/web/dom/sockjs/lib/heartbeater.js +0 -70
  271. package/src/runtimes/web/dom/sockjs/lib/index.js +0 -41
  272. package/src/runtimes/web/dom/sockjs/lib/info.js +0 -117
  273. package/src/runtimes/web/dom/sockjs/lib/json2.min.js +0 -1
  274. package/src/runtimes/web/dom/sockjs/lib/reventtarget.js +0 -55
  275. package/src/runtimes/web/dom/sockjs/lib/simpleevent.js +0 -28
  276. package/src/runtimes/web/dom/sockjs/lib/sockjs.js +0 -288
  277. package/src/runtimes/web/dom/sockjs/lib/test-hooks.js +0 -16
  278. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-eventsource.js +0 -29
  279. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-htmlfile.js +0 -35
  280. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-within.js +0 -100
  281. package/src/runtimes/web/dom/sockjs/lib/trans-iframe-xhr-polling.js +0 -30
  282. package/src/runtimes/web/dom/sockjs/lib/trans-iframe.js +0 -103
  283. package/src/runtimes/web/dom/sockjs/lib/trans-jsonp-polling.js +0 -106
  284. package/src/runtimes/web/dom/sockjs/lib/trans-jsonp-receiver.js +0 -116
  285. package/src/runtimes/web/dom/sockjs/lib/trans-polling.js +0 -44
  286. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-eventsource.js +0 -41
  287. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-htmlfile.js +0 -65
  288. package/src/runtimes/web/dom/sockjs/lib/trans-receiver-xhr.js +0 -42
  289. package/src/runtimes/web/dom/sockjs/lib/trans-sender.js +0 -138
  290. package/src/runtimes/web/dom/sockjs/lib/trans-xhr.js +0 -29
  291. package/src/runtimes/web/dom/sockjs/lib/utils.js +0 -297
  292. package/src/runtimes/web/dom/sockjs/package.json +0 -18
  293. package/src/runtimes/web/dom/sockjs/version +0 -1
  294. package/src/runtimes/web/http/http.ts +0 -8
  295. package/src/runtimes/web/http/http_xdomain_request.ts +0 -37
  296. package/src/runtimes/web/net_info.ts +0 -50
  297. package/src/runtimes/web/runtime.ts +0 -174
  298. package/src/runtimes/web/timeline/jsonp_timeline.ts +0 -34
  299. package/src/runtimes/web/transports/transport_connection_initializer.ts +0 -39
  300. package/src/runtimes/web/transports/transports.ts +0 -65
  301. package/src/runtimes/worker/auth/fetch_auth.ts +0 -69
  302. package/src/runtimes/worker/net_info.ts +0 -10
  303. package/src/runtimes/worker/runtime.ts +0 -75
  304. package/src/runtimes/worker/timeline/fetch_timeline.ts +0 -39
  305. package/tsconfig.json +0 -26
  306. package/types/spec/javascripts/helpers/node/mock-dom-dependencies.d.ts +0 -1
  307. package/types/spec/javascripts/helpers/pusher_integration_class.d.ts +0 -4
  308. package/types/src/core/auth/auth_transports.d.ts +0 -9
  309. package/types/src/core/auth/channel_authorizer.d.ts +0 -3
  310. package/types/src/core/auth/deprecated_channel_authorizer.d.ts +0 -18
  311. package/types/src/core/auth/options.d.ts +0 -48
  312. package/types/src/core/auth/user_authenticator.d.ts +0 -3
  313. package/types/src/core/base64.d.ts +0 -1
  314. package/types/src/core/channels/channel.d.ts +0 -23
  315. package/types/src/core/channels/channel_table.d.ts +0 -5
  316. package/types/src/core/channels/channels.d.ts +0 -12
  317. package/types/src/core/channels/encrypted_channel.d.ts +0 -15
  318. package/types/src/core/channels/members.d.ts +0 -14
  319. package/types/src/core/channels/metadata.d.ts +0 -4
  320. package/types/src/core/channels/presence_channel.d.ts +0 -13
  321. package/types/src/core/channels/private_channel.d.ts +0 -5
  322. package/types/src/core/config.d.ts +0 -31
  323. package/types/src/core/connection/callbacks.d.ts +0 -18
  324. package/types/src/core/connection/connection.d.ts +0 -16
  325. package/types/src/core/connection/connection_manager.d.ts +0 -50
  326. package/types/src/core/connection/connection_manager_options.d.ts +0 -11
  327. package/types/src/core/connection/handshake/handshake_payload.d.ts +0 -8
  328. package/types/src/core/connection/handshake/index.d.ts +0 -12
  329. package/types/src/core/connection/protocol/action.d.ts +0 -7
  330. package/types/src/core/connection/protocol/message-types.d.ts +0 -7
  331. package/types/src/core/connection/protocol/protocol.d.ts +0 -10
  332. package/types/src/core/defaults.d.ts +0 -26
  333. package/types/src/core/errors.d.ts +0 -28
  334. package/types/src/core/events/callback.d.ts +0 -5
  335. package/types/src/core/events/callback_registry.d.ts +0 -11
  336. package/types/src/core/events/callback_table.d.ts +0 -5
  337. package/types/src/core/events/dispatcher.d.ts +0 -14
  338. package/types/src/core/http/ajax.d.ts +0 -16
  339. package/types/src/core/http/http_factory.d.ts +0 -13
  340. package/types/src/core/http/http_polling_socket.d.ts +0 -3
  341. package/types/src/core/http/http_request.d.ts +0 -17
  342. package/types/src/core/http/http_socket.d.ts +0 -32
  343. package/types/src/core/http/http_streaming_socket.d.ts +0 -3
  344. package/types/src/core/http/request_hooks.d.ts +0 -6
  345. package/types/src/core/http/socket_hooks.d.ts +0 -8
  346. package/types/src/core/http/state.d.ts +0 -6
  347. package/types/src/core/http/url_location.d.ts +0 -5
  348. package/types/src/core/logger.d.ts +0 -11
  349. package/types/src/core/options.d.ts +0 -34
  350. package/types/src/core/pusher-with-encryption.d.ts +0 -5
  351. package/types/src/core/pusher.d.ts +0 -49
  352. package/types/src/core/reachability.d.ts +0 -5
  353. package/types/src/core/socket.d.ts +0 -12
  354. package/types/src/core/strategies/best_connected_ever_strategy.d.ts +0 -10
  355. package/types/src/core/strategies/delayed_strategy.d.ts +0 -15
  356. package/types/src/core/strategies/first_connected_strategy.d.ts +0 -8
  357. package/types/src/core/strategies/if_strategy.d.ts +0 -10
  358. package/types/src/core/strategies/sequential_strategy.d.ts +0 -16
  359. package/types/src/core/strategies/strategy.d.ts +0 -6
  360. package/types/src/core/strategies/strategy_builder.d.ts +0 -5
  361. package/types/src/core/strategies/strategy_options.d.ts +0 -16
  362. package/types/src/core/strategies/strategy_runner.d.ts +0 -5
  363. package/types/src/core/strategies/transport_strategy.d.ts +0 -15
  364. package/types/src/core/strategies/websocket_prioritized_cached_strategy.d.ts +0 -20
  365. package/types/src/core/timeline/level.d.ts +0 -6
  366. package/types/src/core/timeline/timeline.d.ts +0 -25
  367. package/types/src/core/timeline/timeline_sender.d.ts +0 -13
  368. package/types/src/core/timeline/timeline_transport.d.ts +0 -6
  369. package/types/src/core/transports/assistant_to_the_transport_manager.d.ts +0 -14
  370. package/types/src/core/transports/ping_delay_options.d.ts +0 -6
  371. package/types/src/core/transports/transport.d.ts +0 -8
  372. package/types/src/core/transports/transport_connection.d.ts +0 -35
  373. package/types/src/core/transports/transport_connection_options.d.ts +0 -6
  374. package/types/src/core/transports/transport_hooks.d.ts +0 -13
  375. package/types/src/core/transports/transport_manager.d.ts +0 -14
  376. package/types/src/core/transports/transports_table.d.ts +0 -10
  377. package/types/src/core/transports/url_scheme.d.ts +0 -11
  378. package/types/src/core/transports/url_schemes.d.ts +0 -4
  379. package/types/src/core/user.d.ts +0 -21
  380. package/types/src/core/util.d.ts +0 -8
  381. package/types/src/core/utils/collections.d.ts +0 -18
  382. package/types/src/core/utils/factory.d.ts +0 -29
  383. package/types/src/core/utils/flat_promise.d.ts +0 -6
  384. package/types/src/core/utils/timers/abstract_timer.d.ts +0 -10
  385. package/types/src/core/utils/timers/index.d.ts +0 -9
  386. package/types/src/core/utils/timers/scheduling.d.ts +0 -8
  387. package/types/src/core/utils/timers/timed_callback.d.ts +0 -4
  388. package/types/src/core/utils/url_store.d.ts +0 -4
  389. package/types/src/core/watchlist.d.ts +0 -8
  390. package/types/src/runtimes/interface.d.ts +0 -43
  391. package/types/src/runtimes/isomorphic/auth/xhr_auth.d.ts +0 -3
  392. package/types/src/runtimes/isomorphic/default_strategy.d.ts +0 -5
  393. package/types/src/runtimes/isomorphic/http/http.d.ts +0 -3
  394. package/types/src/runtimes/isomorphic/http/http_xhr_request.d.ts +0 -3
  395. package/types/src/runtimes/isomorphic/runtime.d.ts +0 -2
  396. package/types/src/runtimes/isomorphic/timeline/xhr_timeline.d.ts +0 -6
  397. package/types/src/runtimes/isomorphic/transports/transport_connection_initializer.d.ts +0 -1
  398. package/types/src/runtimes/isomorphic/transports/transports.d.ts +0 -5
  399. package/types/src/runtimes/node/net_info.d.ts +0 -6
  400. package/types/src/runtimes/node/runtime.d.ts +0 -3
  401. package/types/src/runtimes/react-native/net_info.d.ts +0 -8
  402. package/types/src/runtimes/react-native/runtime.d.ts +0 -3
  403. package/types/src/runtimes/web/auth/jsonp_auth.d.ts +0 -3
  404. package/types/src/runtimes/web/browser.d.ts +0 -19
  405. package/types/src/runtimes/web/default_strategy.d.ts +0 -5
  406. package/types/src/runtimes/web/dom/dependencies.d.ts +0 -4
  407. package/types/src/runtimes/web/dom/dependency_loader.d.ts +0 -10
  408. package/types/src/runtimes/web/dom/jsonp_request.d.ts +0 -10
  409. package/types/src/runtimes/web/dom/script_receiver.d.ts +0 -7
  410. package/types/src/runtimes/web/dom/script_receiver_factory.d.ts +0 -10
  411. package/types/src/runtimes/web/dom/script_request.d.ts +0 -9
  412. package/types/src/runtimes/web/http/http.d.ts +0 -2
  413. package/types/src/runtimes/web/http/http_xdomain_request.d.ts +0 -3
  414. package/types/src/runtimes/web/net_info.d.ts +0 -7
  415. package/types/src/runtimes/web/runtime.d.ts +0 -3
  416. package/types/src/runtimes/web/timeline/jsonp_timeline.d.ts +0 -6
  417. package/types/src/runtimes/web/transports/transport_connection_initializer.d.ts +0 -1
  418. package/types/src/runtimes/web/transports/transports.d.ts +0 -2
  419. package/types/src/runtimes/worker/auth/fetch_auth.d.ts +0 -3
  420. package/types/src/runtimes/worker/net_info.d.ts +0 -6
  421. package/types/src/runtimes/worker/runtime.d.ts +0 -3
  422. package/types/src/runtimes/worker/timeline/fetch_timeline.d.ts +0 -6
  423. package/webpack/config.node.js +0 -26
  424. package/webpack/config.react-native.js +0 -35
  425. package/webpack/config.shared.js +0 -50
  426. package/webpack/config.web.js +0 -36
  427. package/webpack/config.worker.js +0 -42
  428. package/webpack/dev.server.js +0 -17
  429. package/webpack/hosting_config.js +0 -6
  430. package/with-encryption/index.d.ts +0 -29
  431. package/with-encryption/index.js +0 -4
  432. package/worker/index.d.ts +0 -29
  433. package/worker/index.js +0 -1
  434. package/worker/with-encryption/index.d.ts +0 -29
  435. package/worker/with-encryption/index.js +0 -1
@@ -1,154 +0,0 @@
1
- import Action from './action';
2
- import { PusherEvent } from './message-types';
3
- /**
4
- * Provides functions for handling Pusher protocol-specific messages.
5
- */
6
-
7
- const Protocol = {
8
- /**
9
- * Decodes a message in a Pusher format.
10
- *
11
- * The MessageEvent we receive from the transport should contain a pusher event
12
- * (https://pusher.com/docs/pusher_protocol#events) serialized as JSON in the
13
- * data field
14
- *
15
- * The pusher event may contain a data field too, and it may also be
16
- * serialised as JSON
17
- *
18
- * Throws errors when messages are not parse'able.
19
- *
20
- * @param {MessageEvent} messageEvent
21
- * @return {PusherEvent}
22
- */
23
- decodeMessage: function(messageEvent: MessageEvent): PusherEvent {
24
- try {
25
- var messageData = JSON.parse(messageEvent.data);
26
- var pusherEventData = messageData.data;
27
- if (typeof pusherEventData === 'string') {
28
- try {
29
- pusherEventData = JSON.parse(messageData.data);
30
- } catch (e) {}
31
- }
32
- var pusherEvent: PusherEvent = {
33
- event: messageData.event,
34
- channel: messageData.channel,
35
- data: pusherEventData
36
- };
37
- if (messageData.user_id) {
38
- pusherEvent.user_id = messageData.user_id;
39
- }
40
- return pusherEvent;
41
- } catch (e) {
42
- throw { type: 'MessageParseError', error: e, data: messageEvent.data };
43
- }
44
- },
45
-
46
- /**
47
- * Encodes a message to be sent.
48
- *
49
- * @param {PusherEvent} event
50
- * @return {String}
51
- */
52
- encodeMessage: function(event: PusherEvent): string {
53
- return JSON.stringify(event);
54
- },
55
-
56
- /**
57
- * Processes a handshake message and returns appropriate actions.
58
- *
59
- * Returns an object with an 'action' and other action-specific properties.
60
- *
61
- * There are three outcomes when calling this function. First is a successful
62
- * connection attempt, when pusher:connection_established is received, which
63
- * results in a 'connected' action with an 'id' property. When passed a
64
- * pusher:error event, it returns a result with action appropriate to the
65
- * close code and an error. Otherwise, it raises an exception.
66
- *
67
- * @param {String} message
68
- * @result Object
69
- */
70
- processHandshake: function(messageEvent: MessageEvent): Action {
71
- var message = Protocol.decodeMessage(messageEvent);
72
-
73
- if (message.event === 'pusher:connection_established') {
74
- if (!message.data.activity_timeout) {
75
- throw 'No activity timeout specified in handshake';
76
- }
77
- return {
78
- action: 'connected',
79
- id: message.data.socket_id,
80
- activityTimeout: message.data.activity_timeout * 1000
81
- };
82
- } else if (message.event === 'pusher:error') {
83
- // From protocol 6 close codes are sent only once, so this only
84
- // happens when connection does not support close codes
85
- return {
86
- action: this.getCloseAction(message.data),
87
- error: this.getCloseError(message.data)
88
- };
89
- } else {
90
- throw 'Invalid handshake';
91
- }
92
- },
93
-
94
- /**
95
- * Dispatches the close event and returns an appropriate action name.
96
- *
97
- * See:
98
- * 1. https://developer.mozilla.org/en-US/docs/WebSockets/WebSockets_reference/CloseEvent
99
- * 2. http://pusher.com/docs/pusher_protocol
100
- *
101
- * @param {CloseEvent} closeEvent
102
- * @return {String} close action name
103
- */
104
- getCloseAction: function(closeEvent): string {
105
- if (closeEvent.code < 4000) {
106
- // ignore 1000 CLOSE_NORMAL, 1001 CLOSE_GOING_AWAY,
107
- // 1005 CLOSE_NO_STATUS, 1006 CLOSE_ABNORMAL
108
- // ignore 1007...3999
109
- // handle 1002 CLOSE_PROTOCOL_ERROR, 1003 CLOSE_UNSUPPORTED,
110
- // 1004 CLOSE_TOO_LARGE
111
- if (closeEvent.code >= 1002 && closeEvent.code <= 1004) {
112
- return 'backoff';
113
- } else {
114
- return null;
115
- }
116
- } else if (closeEvent.code === 4000) {
117
- return 'tls_only';
118
- } else if (closeEvent.code < 4100) {
119
- return 'refused';
120
- } else if (closeEvent.code < 4200) {
121
- return 'backoff';
122
- } else if (closeEvent.code < 4300) {
123
- return 'retry';
124
- } else {
125
- // unknown error
126
- return 'refused';
127
- }
128
- },
129
-
130
- /**
131
- * Returns an error or null basing on the close event.
132
- *
133
- * Null is returned when connection was closed cleanly. Otherwise, an object
134
- * with error details is returned.
135
- *
136
- * @param {CloseEvent} closeEvent
137
- * @return {Object} error object
138
- */
139
- getCloseError: function(closeEvent): any {
140
- if (closeEvent.code !== 1000 && closeEvent.code !== 1001) {
141
- return {
142
- type: 'PusherError',
143
- data: {
144
- code: closeEvent.code,
145
- message: closeEvent.reason || closeEvent.message
146
- }
147
- };
148
- } else {
149
- return null;
150
- }
151
- }
152
- };
153
-
154
- export default Protocol;
@@ -1,66 +0,0 @@
1
- import {
2
- ChannelAuthorizationOptions,
3
- UserAuthenticationOptions
4
- } from './auth/options';
5
- import { AuthTransport } from './config';
6
-
7
- export interface DefaultConfig {
8
- VERSION: string;
9
- PROTOCOL: number;
10
- wsPort: number;
11
- wssPort: number;
12
- wsPath: string;
13
- httpHost: string;
14
- httpPort: number;
15
- httpsPort: number;
16
- httpPath: string;
17
- stats_host: string;
18
- authEndpoint: string;
19
- authTransport: AuthTransport;
20
- activityTimeout: number;
21
- pongTimeout: number;
22
- unavailableTimeout: number;
23
- userAuthentication: UserAuthenticationOptions;
24
- channelAuthorization: ChannelAuthorizationOptions;
25
-
26
- cdn_http?: string;
27
- cdn_https?: string;
28
- dependency_suffix?: string;
29
- }
30
-
31
- var Defaults: DefaultConfig = {
32
- VERSION: VERSION,
33
- PROTOCOL: 7,
34
-
35
- wsPort: 80,
36
- wssPort: 443,
37
- wsPath: '',
38
- // DEPRECATED: SockJS fallback parameters
39
- httpHost: 'sockjs.pusher.com',
40
- httpPort: 80,
41
- httpsPort: 443,
42
- httpPath: '/pusher',
43
- // DEPRECATED: Stats
44
- stats_host: 'stats.pusher.com',
45
- // DEPRECATED: Other settings
46
- authEndpoint: '/pusher/auth',
47
- authTransport: 'ajax',
48
- activityTimeout: 120000,
49
- pongTimeout: 30000,
50
- unavailableTimeout: 10000,
51
- userAuthentication: {
52
- endpoint: '/pusher/user-auth',
53
- transport: 'ajax'
54
- },
55
- channelAuthorization: {
56
- endpoint: '/pusher/auth',
57
- transport: 'ajax'
58
- },
59
-
60
- // CDN configuration
61
- cdn_http: CDN_HTTP,
62
- cdn_https: CDN_HTTPS,
63
- dependency_suffix: DEPENDENCY_SUFFIX
64
- };
65
-
66
- export default Defaults;
@@ -1,69 +0,0 @@
1
- /** Error classes used throughout the library. */
2
- // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work
3
- export class BadEventName extends Error {
4
- constructor(msg?: string) {
5
- super(msg);
6
-
7
- Object.setPrototypeOf(this, new.target.prototype);
8
- }
9
- }
10
-
11
- export class BadChannelName extends Error {
12
- constructor(msg?: string) {
13
- super(msg);
14
-
15
- Object.setPrototypeOf(this, new.target.prototype);
16
- }
17
- }
18
-
19
- export class RequestTimedOut extends Error {
20
- constructor(msg?: string) {
21
- super(msg);
22
-
23
- Object.setPrototypeOf(this, new.target.prototype);
24
- }
25
- }
26
- export class TransportPriorityTooLow extends Error {
27
- constructor(msg?: string) {
28
- super(msg);
29
-
30
- Object.setPrototypeOf(this, new.target.prototype);
31
- }
32
- }
33
- export class TransportClosed extends Error {
34
- constructor(msg?: string) {
35
- super(msg);
36
-
37
- Object.setPrototypeOf(this, new.target.prototype);
38
- }
39
- }
40
- export class UnsupportedFeature extends Error {
41
- constructor(msg?: string) {
42
- super(msg);
43
-
44
- Object.setPrototypeOf(this, new.target.prototype);
45
- }
46
- }
47
- export class UnsupportedTransport extends Error {
48
- constructor(msg?: string) {
49
- super(msg);
50
-
51
- Object.setPrototypeOf(this, new.target.prototype);
52
- }
53
- }
54
- export class UnsupportedStrategy extends Error {
55
- constructor(msg?: string) {
56
- super(msg);
57
-
58
- Object.setPrototypeOf(this, new.target.prototype);
59
- }
60
- }
61
- export class HTTPAuthError extends Error {
62
- status: number;
63
- constructor(status: number, msg?: string) {
64
- super(msg);
65
- this.status = status;
66
-
67
- Object.setPrototypeOf(this, new.target.prototype);
68
- }
69
- }
@@ -1,6 +0,0 @@
1
- interface Callback {
2
- fn: Function;
3
- context: any;
4
- }
5
-
6
- export default Callback;
@@ -1,75 +0,0 @@
1
- import Callback from './callback';
2
- import * as Collections from '../utils/collections';
3
- import CallbackTable from './callback_table';
4
-
5
- export default class CallbackRegistry {
6
- _callbacks: CallbackTable;
7
-
8
- constructor() {
9
- this._callbacks = {};
10
- }
11
-
12
- get(name: string): Callback[] {
13
- return this._callbacks[prefix(name)];
14
- }
15
-
16
- add(name: string, callback: Function, context: any) {
17
- var prefixedEventName = prefix(name);
18
- this._callbacks[prefixedEventName] =
19
- this._callbacks[prefixedEventName] || [];
20
- this._callbacks[prefixedEventName].push({
21
- fn: callback,
22
- context: context
23
- });
24
- }
25
-
26
- remove(name?: string, callback?: Function, context?: any) {
27
- if (!name && !callback && !context) {
28
- this._callbacks = {};
29
- return;
30
- }
31
-
32
- var names = name ? [prefix(name)] : Collections.keys(this._callbacks);
33
-
34
- if (callback || context) {
35
- this.removeCallback(names, callback, context);
36
- } else {
37
- this.removeAllCallbacks(names);
38
- }
39
- }
40
-
41
- private removeCallback(names: string[], callback: Function, context: any) {
42
- Collections.apply(
43
- names,
44
- function(name) {
45
- this._callbacks[name] = Collections.filter(
46
- this._callbacks[name] || [],
47
- function(binding) {
48
- return (
49
- (callback && callback !== binding.fn) ||
50
- (context && context !== binding.context)
51
- );
52
- }
53
- );
54
- if (this._callbacks[name].length === 0) {
55
- delete this._callbacks[name];
56
- }
57
- },
58
- this
59
- );
60
- }
61
-
62
- private removeAllCallbacks(names: string[]) {
63
- Collections.apply(
64
- names,
65
- function(name) {
66
- delete this._callbacks[name];
67
- },
68
- this
69
- );
70
- }
71
- }
72
-
73
- function prefix(name: string): string {
74
- return '_' + name;
75
- }
@@ -1,7 +0,0 @@
1
- import Callback from './callback';
2
-
3
- interface CallbackTable {
4
- [index: string]: Callback[];
5
- }
6
-
7
- export default CallbackTable;
@@ -1,84 +0,0 @@
1
- import * as Collections from '../utils/collections';
2
- import Callback from './callback';
3
- import Metadata from '../channels/metadata';
4
- import CallbackRegistry from './callback_registry';
5
-
6
- /** Manages callback bindings and event emitting.
7
- *
8
- * @param Function failThrough called when no listeners are bound to an event
9
- */
10
- export default class Dispatcher {
11
- callbacks: CallbackRegistry;
12
- global_callbacks: Function[];
13
- failThrough: Function;
14
-
15
- constructor(failThrough?: Function) {
16
- this.callbacks = new CallbackRegistry();
17
- this.global_callbacks = [];
18
- this.failThrough = failThrough;
19
- }
20
-
21
- bind(eventName: string, callback: Function, context?: any) {
22
- this.callbacks.add(eventName, callback, context);
23
- return this;
24
- }
25
-
26
- bind_global(callback: Function) {
27
- this.global_callbacks.push(callback);
28
- return this;
29
- }
30
-
31
- unbind(eventName?: string, callback?: Function, context?: any) {
32
- this.callbacks.remove(eventName, callback, context);
33
- return this;
34
- }
35
-
36
- unbind_global(callback?: Function) {
37
- if (!callback) {
38
- this.global_callbacks = [];
39
- return this;
40
- }
41
-
42
- this.global_callbacks = Collections.filter(
43
- this.global_callbacks || [],
44
- c => c !== callback
45
- );
46
-
47
- return this;
48
- }
49
-
50
- unbind_all() {
51
- this.unbind();
52
- this.unbind_global();
53
- return this;
54
- }
55
-
56
- emit(eventName: string, data?: any, metadata?: Metadata): Dispatcher {
57
- for (var i = 0; i < this.global_callbacks.length; i++) {
58
- this.global_callbacks[i](eventName, data);
59
- }
60
-
61
- var callbacks = this.callbacks.get(eventName);
62
- var args = [];
63
-
64
- if (metadata) {
65
- // if there's a metadata argument, we need to call the callback with both
66
- // data and metadata regardless of whether data is undefined
67
- args.push(data, metadata);
68
- } else if (data) {
69
- // metadata is undefined, so we only need to call the callback with data
70
- // if data exists
71
- args.push(data);
72
- }
73
-
74
- if (callbacks && callbacks.length > 0) {
75
- for (var i = 0; i < callbacks.length; i++) {
76
- callbacks[i].fn.apply(callbacks[i].context || global, args);
77
- }
78
- } else if (this.failThrough) {
79
- this.failThrough(eventName, data);
80
- }
81
-
82
- return this;
83
- }
84
- }
@@ -1,24 +0,0 @@
1
- interface Ajax {
2
- open(
3
- method: string,
4
- url: string,
5
- async?: boolean,
6
- user?: string,
7
- password?: string
8
- ): void;
9
- send(payload?: any): void;
10
- setRequestHeader(key: string, value: string): void;
11
- onreadystatechange: Function;
12
- readyState: number;
13
- responseText: string;
14
- status: number;
15
- withCredentials?: boolean;
16
-
17
- ontimeout: Function;
18
- onerror: Function;
19
- onprogress: Function;
20
- onload: Function;
21
- abort: Function;
22
- }
23
-
24
- export default Ajax;
@@ -1,16 +0,0 @@
1
- import HTTPSocket from './http_socket';
2
- import SocketHooks from './socket_hooks';
3
- import HTTPRequest from './http_request';
4
- import RequestHooks from './request_hooks';
5
- import Ajax from './ajax';
6
-
7
- interface HTTPFactory {
8
- createStreamingSocket(url: string): HTTPSocket;
9
- createPollingSocket(url: string): HTTPSocket;
10
- createSocket(hooks: SocketHooks, url: string): HTTPSocket;
11
- createXHR(method: string, url: string): HTTPRequest;
12
- createXDR?(method: string, url: string): HTTPRequest;
13
- createRequest(hooks: RequestHooks, method: string, url: string): HTTPRequest;
14
- }
15
-
16
- export default HTTPFactory;
@@ -1,24 +0,0 @@
1
- import SocketHooks from './socket_hooks';
2
- import URLLocation from './url_location';
3
- import HTTPSocket from './http_socket';
4
-
5
- var hooks: SocketHooks = {
6
- getReceiveURL: function(url: URLLocation, session: string): string {
7
- return url.base + '/' + session + '/xhr' + url.queryString;
8
- },
9
- onHeartbeat: function() {
10
- // next HTTP request will reset server's activity timer
11
- },
12
- sendHeartbeat: function(socket) {
13
- socket.sendRaw('[]');
14
- },
15
- onFinished: function(socket, status) {
16
- if (status === 200) {
17
- socket.reconnect();
18
- } else {
19
- socket.onClose(1006, 'Connection interrupted (' + status + ')', false);
20
- }
21
- }
22
- };
23
-
24
- export default hooks;
@@ -1,81 +0,0 @@
1
- import Runtime from 'runtime';
2
- import RequestHooks from './request_hooks';
3
- import Ajax from './ajax';
4
- import { default as EventsDispatcher } from '../events/dispatcher';
5
-
6
- const MAX_BUFFER_LENGTH = 256 * 1024;
7
-
8
- export default class HTTPRequest extends EventsDispatcher {
9
- hooks: RequestHooks;
10
- method: string;
11
- url: string;
12
- position: number;
13
- xhr: Ajax;
14
- unloader: Function;
15
-
16
- constructor(hooks: RequestHooks, method: string, url: string) {
17
- super();
18
- this.hooks = hooks;
19
- this.method = method;
20
- this.url = url;
21
- }
22
-
23
- start(payload?: any) {
24
- this.position = 0;
25
- this.xhr = this.hooks.getRequest(this);
26
-
27
- this.unloader = () => {
28
- this.close();
29
- };
30
- Runtime.addUnloadListener(this.unloader);
31
-
32
- this.xhr.open(this.method, this.url, true);
33
-
34
- if (this.xhr.setRequestHeader) {
35
- this.xhr.setRequestHeader('Content-Type', 'application/json'); // ReactNative doesn't set this header by default.
36
- }
37
- this.xhr.send(payload);
38
- }
39
-
40
- close() {
41
- if (this.unloader) {
42
- Runtime.removeUnloadListener(this.unloader);
43
- this.unloader = null;
44
- }
45
- if (this.xhr) {
46
- this.hooks.abortRequest(this.xhr);
47
- this.xhr = null;
48
- }
49
- }
50
-
51
- onChunk(status: number, data: any) {
52
- while (true) {
53
- var chunk = this.advanceBuffer(data);
54
- if (chunk) {
55
- this.emit('chunk', { status: status, data: chunk });
56
- } else {
57
- break;
58
- }
59
- }
60
- if (this.isBufferTooLong(data)) {
61
- this.emit('buffer_too_long');
62
- }
63
- }
64
-
65
- private advanceBuffer(buffer: any[]): any {
66
- var unreadData = buffer.slice(this.position);
67
- var endOfLinePosition = unreadData.indexOf('\n');
68
-
69
- if (endOfLinePosition !== -1) {
70
- this.position += endOfLinePosition + 1;
71
- return unreadData.slice(0, endOfLinePosition);
72
- } else {
73
- // chunk is not finished yet, don't move the buffer pointer
74
- return null;
75
- }
76
- }
77
-
78
- private isBufferTooLong(buffer: any): boolean {
79
- return this.position === buffer.length && buffer.length > MAX_BUFFER_LENGTH;
80
- }
81
- }