fetch-intercept

Interceptor library for the native fetch command inspired by angular http intercepts.

Usage no npm install needed!

<script type="module">
  import fetchIntercept from 'https://cdn.skypack.dev/fetch-intercept';
</script>

README

fetch-intercept

Build Status

Interceptor library for the native fetch command inspired by angular http interceptors.

fetch-intercept monkey patches the global fetch method and allows you the usage in Browser, Node and Webworker environments.

Installation

npm install fetch-intercept --save

Usage

Note: You need to require fetch-intercept before you use fetch the first time.

Make sure you have a fetch compatible environment or added a appropriate polyfill.

import fetchIntercept from 'fetch-intercept';

const unregister = fetchIntercept.register({
    request: function (url, config) {
        // Modify the url or config here
        return [url, config];
    },

    requestError: function (error) {
        // Called when an error occured during another 'request' interceptor call
        return Promise.reject(error);
    },

    response: function (response) {
        // Modify the reponse object
        return response;
    },

    responseError: function (error) {
        // Handle an fetch error
        return Promise.reject(error);
    }
});

// Call fetch to see your interceptors in action.
fetch('http://google.com');

// Unregister your interceptor
unregister();

React-Native Compatibility

Support react-native 0.17 or higher versions.

License

MIT