Request & Response Interceptor
const originalFetch = window.fetch;
window.requestInterceptor = (args) => {
console.log("Request has been intercepted");
return args;
};
window.responseInterceptor = (response) => {
console.log("Response has been intercepted");
return response.json();
};
window.fetch = async (...args) => {
const reqArgs = requestInterceptor(args);
const response = await originalFetch(...reqArgs);
const resInterceptor = responseInterceptor(response);
return resInterceptor;
};
fetch("https://jsonplaceholder.typicode.com/todos/1").then((json) =>
console.log(json)
);
// "Request has been intercepted"
// "Response has been intercepted"
// {
// "userId": 1,
// "id": 1,
// "title": "delectus aut autem",
// "completed": false
// }