fetch-h2-br
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

npm version build status coverage status

🥐 Brotli decoder to fetch-h2

This package provides a content decoder for the Brotli (br) encoding using the iltorb package (which is a wrapper around the native brotli C library). By using this with fetch-h2, requests will add 'br' as accepted encoding to the server, and will decode it.

Use this on the default fetch-h2 context by its setup( ), or for new contexts when creating them.

Usage

Import

The decoder is default-exported (with TS/ES6 modules), but can also be imported using require, although as a property brDecode.

import brDecode from 'fetch-h2-br'
// or, if using require:
const { brDecode } = require( 'fetch-h2-br' );

brDecode is a function without arguments which returns a decoder.

fetch-h2 contexts

Decoders can be provided to fetch-h2 per-context. Since fetch-h2 always has a default-context, decoders can be applied by running setup( ). For new contexts, it can be provided to the context( ) function.

Default context

import { setup, fetch } from 'fetch-h2'
import brDecode from 'fetch-h2-br'
 
// Setup only once to avoid undefined behavior
setup( { decoders: [ brDecode( ) ] } );
 
// Now, all subsequent fetch-calls will support the 'br' encoding:
const response = await fetch( 'https://host/file' );

Custom context

Create a new context where 'br' should be supported:

import { context } from 'fetch-h2'
import brDecode from 'fetch-h2-br'
 
// Create a context where 'br' is supported
const { fetch } = context( { decoders: [ brDecode( ) ] } );
 
// Now, all subsequent fetch-calls with this particular fetch will support the 'br' encoding:
const response = await fetch( 'https://host/file' );
 
// Yet another context
const { fetch: fetchOther } = context( );
// fetchOther will *not* support 'br':
const response2 = await fetchOther( 'https://host/file' );

Package Sidebar

Install

npm i fetch-h2-br

Weekly Downloads

5

Version

2.0.0

License

MIT

Unpacked Size

14.6 kB

Total Files

14

Last publish

Collaborators

  • grantila