Skip to content

Codelabsys/frisbee-intercept

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

frisbee-intercept

Codelab

Create Interceptors for your frisbee APIs so you can add headers to requests and pre-process the server reponses.

Getting Started

Prerequisites

As its name implies, frisbee should be installed to intercept its requests. Follow the Installation steps in their repository.

Installing

NPM

npm install --save  frisbee-intercept

Usage

import Frisbee from 'frisbee';
import FrisbeeAPIInterceptor from 'frisbee-intercept'

// create a new instance of Frisbee 
const myAPI = new Frisbee({
    baseURI: "https://myBaseURI.com.eg/",
    headers: {
        'Accept': 'application/json',
        'Content-Type': 'application/json'
    }
});

//Create an intereption wrapper arround your API
var myAPIInterceptor = FrisbeeAPIInterceptor(myAPI);

//register your interceptor with your API, ** you can register as many interceptors as you want to your api **
const unregister = myAPIInterceptor.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
        //Handle Forbidden status code

        return response;
    },

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

    }
});

//make your requests to see interception in action
myAPI.post("Account/Login", { body: {} });

// Unregister your interceptor
unregister();

Credits