‚̧Nuclearly Potent Moonshine

    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' );

    Install

    npm i fetch-h2-br

    DownloadsWeekly Downloads

    1

    Version

    2.0.0

    License

    MIT

    Unpacked Size

    14.6 kB

    Total Files

    14

    Last publish

    Collaborators

    • grantila