The Fetch API has no built-in hooks, so teams write a wrapper such as apiFetch() and use it everywhere. Wrapping window.fetch globally is possible, and it is exactly what browser interceptor tools do internally, but it is fragile in application code.
Where a proxy interceptor fits
Now suppose you need to see how the UI above behaves when the refresh endpoint returns 500, or when /me takes 8 seconds. You *could* add a mock interceptor, but then you have to commit, build and remember to remove it. A proxy interceptor makes the same change from outside the code, only in your browser, and your real interceptors still run so you are testing the true behaviour.
Can a proxy interceptor see requests made by Angular HttpClient?
Yes. HttpClient uses XHR (or fetch with withFetch()), and ProxyCeptor intercepts both in the page.
Do proxy interceptor rules run before or after my Axios interceptors?
After your request interceptors (the browser sees the final request) and before your response interceptors (your code receives the modified response). That means you are testing your real interceptor logic.
Is MSW a proxy interceptor?
Mock Service Worker intercepts at the service-worker level and is configured in code, so it sits between the two: ideal for tests, less convenient for ad-hoc debugging. See ProxyCeptor vs MSW.
Kartikay is a consultant who helps teams with API-heavy web and streaming apps, from architecture reviews to the last mile of QA. His posts are the calm, thorough ones: a long explanation, a real playbook and a single sentence that ends the argument. Expect measured opinions, war stories with the details changed and a strong view on Smart TV surprises.
There is no single best proxy interceptor. There is a best one for penetration testing, for mocking APIs in Chrome, for native mobile apps, and for Smart TVs. Here is how the 10 leading tools compare.
Every project has a hidden API nobody remembers writing, and on a TV you cannot even see it. What actually works when the device will not trust your proxy.