Skip to content

balena-io-modules/fetch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@balena/fetch

This is Balena's implementation of fetch, but others could find it useful too.

Features:

  • happy eyeballs
    • Attempt connections to all addresses provided getaddrinfo, not just the first one
    • Attempt connection to both IPv6 and IPv4 concurrently for dual-stack hosts
    • Remember last successful connection type and try that first for next request
  • browser/node safe
  • ...more to come

This is meant to replace all naked calls to http.request, fetch, node-fetch, @balena/request, etc.

Installation

npm i --save @balena/fetch

Usage

import fetch from '@balena/fetch';

const resp = await fetch('https://api.balena-cloud.com/ping');
console.log(await resp.text()) // <= OK