0.0.3 • Published 5 years ago

fetch-beacon v0.0.3

Weekly downloads
1
License
ISC
Repository
github
Last release
5 years ago

fetch-beacon

A tiny HTTP client that implements sendBeacon API

Why fetch-beacon

  • implements navigator.sendBeacon, which is useful for analytics and diagnostics needs.
  • simple API as fetch
  • timeout and retry support
  • custom instance

WARN: You should not use it besides analytics and diagnostics needs

Install

$ npm install fetch-beacon

Usage

import beacon from 'fetch-beacon';

(async () => {
	const resp = await beacon('https://example.com', {json: {foo: true}});
	console.log(resp.json());
	//=> `{data: '🦄'}`
})();

API

beacon(input, options)

Same as fetch, except folloing option.

fetch-beacon will cache the failed request when get below status code or TimeoutError and retry it when document load again.

Status codes: 408 413 429 500 502 503 504

options.timeout

Type: number, Default: 10000

options.keepalive

Type: boolean, Default: true

#### options.retry Type: number, Default: 2

Retry failed request if get one of following code.

beacon.TimeoutError

The error thrown when the request times out.

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago