braid-http 1.3.84 → 1.3.86

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.
@@ -230,7 +230,7 @@ async function braid_fetch (url, params = {}) {
230
230
  () => underlying_aborter.abort()
231
231
  )
232
232
 
233
- var waitTime = 1
233
+ var retry_count = 0
234
234
  var res = null
235
235
  var subscription_cb = null
236
236
  var subscription_error = null
@@ -272,9 +272,12 @@ async function braid_fetch (url, params = {}) {
272
272
 
273
273
  if (retry && !original_signal?.aborted) {
274
274
  // retry after some time..
275
- console.log(`retrying in ${waitTime}s: ${url} after error: ${e}`)
276
- setTimeout(connect, waitTime * 1000)
277
- waitTime = Math.min(waitTime + 1, 3)
275
+ var delay_ms = typeof braid_fetch.reconnect_delay_ms === 'function'
276
+ ? braid_fetch.reconnect_delay_ms(retry_count)
277
+ : braid_fetch.reconnect_delay_ms ?? Math.min(retry_count + 1, 3) * 1000
278
+ console.log(`retrying in ${delay_ms}ms: ${url} after error: ${e}`)
279
+ setTimeout(connect, delay_ms)
280
+ retry_count++
278
281
  } else {
279
282
  // if we would have retried except that original_signal?.aborted,
280
283
  // then we want to return that as the error..
@@ -336,6 +339,7 @@ async function braid_fetch (url, params = {}) {
336
339
  if (isFinite(heartbeats)) {
337
340
  let timeout = null
338
341
  on_heartbeat = () => {
342
+ params.heartbeat_cb?.()
339
343
  clearTimeout(timeout)
340
344
  let wait_seconds = 1.2 * heartbeats + 3
341
345
  timeout = setTimeout(() => {
@@ -469,7 +473,7 @@ async function braid_fetch (url, params = {}) {
469
473
  if (subscription_cb && res.ok) start_subscription(subscription_cb, subscription_error)
470
474
 
471
475
  params?.retry?.onRes?.(res)
472
- waitTime = 1
476
+ retry_count = 0
473
477
 
474
478
  // parse version if it exists
475
479
  var version_header = res.headers.get('version') || res.headers.get('current-version')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "braid-http",
3
- "version": "1.3.84",
3
+ "version": "1.3.86",
4
4
  "description": "An implementation of Braid-HTTP for Node.js and Browsers",
5
5
  "scripts": {
6
6
  "test": "node test/server.js"