Create Interceptors for your frisbee APIs so you can add headers to requests and pre-process the server reponses.
As its name implies, frisbee should be installed to intercept its requests. Follow the Installation steps in their repository.
npm install --save frisbee-intercept
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();
- This code was taken from fetch-intercept and adapted to work with frisbee APIs
- This library was developed at Codelabsys