Skip to content
This repository has been archived by the owner on Mar 18, 2024. It is now read-only.
/ js-grip-compute-js Public archive

Extension of js-grip to work with Fastly Compute JavaScript

License

Notifications You must be signed in to change notification settings

fastly/js-grip-compute-js

Repository files navigation

@fastly/grip-compute-js

IMPORTANT: This package is no longer needed. Please read below.

Publishing messages through @fanoutio/grip uses the global fetch() function as the underlying mechanism. When using fetch() in Fastly Compute, it requires the specification of the backend parameter.

The main purpose of this library was to define that backend value as a query parameter added to the GRIP_URL and to provide specialized versions of parseGripUri and Publisher that can work with this parameter.

In @fanoutio/grip version 4, the Publisher class constructor accepts an optional second parameter that is used to customize its behavior when performing this fetch().

The example below assigns the backend called 'publisher' before calling the global fetch.

import { Publisher } from '@fanoutio/grip';
const publisher = new Publisher(gripConfig, {
    fetch(input, init) {
        return fetch(String(input), { ...init, backend: 'publisher' });
    },
});

If you wish to configure the value by adding it to GRIP_URL, the following setup can be used:

import { Publisher } from '@fanoutio/grip';

const GRIP_URL = 'https://pushpin.myproject.com/?iss=app&key=secret&backend=publisher'; 

const publisher = new Publisher(GRIP_URL, {
    fetch(input, init) {
        const url = new URL(input);
        const backend = url.searchParams.get('backend');
        url.searchParams.delete('backend');
        return fetch(url.toString(), { ...init, backend });
    },
});

Security issues

Please see our SECURITY.md for guidance on reporting security-related issues.

License

MIT.

About

Extension of js-grip to work with Fastly Compute JavaScript

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks