Find out which interceptor superpowers you can start using today - Deepstash

Bite‑sized knowledge

to upgrade

your career

Ideas from books, articles & podcasts.

Find out which interceptor superpowers you can start using today

There are many ways to use an interceptor, and I’m sure most of us have only scratched the surface. In this article, I will present my ten favorite ways to use interceptors in Angular. 




Manipulating the URL. Sounds a bit risky when I say it out loud but let’s see how easily we can do it in an interceptor.

We could, for example, want to change HTTP to HTTPS.

It’s as easy as cloning the request and replacing http:// with https:// at the same time. Then we send the clon...

Everyone wants to see the spinning wheel of fortune when we are waiting for a response. What if I said we could set it up centrally in an interceptor so that we show a loader whenever there are active requests.

For this, we can use a loader service that has a show and a hid...

When the API returns a format we do not agree with, we can use an interceptor to format it the way we like it.

This could be converting from XML to JSON or like in this example property names from PascalCase to camelCase. If the backend doesn’t care about JSON/JS conventions we can use an i...

We can do a lot by manipulating headers. Some things are:

  • Authentication/authorization
  • Caching behavior; for example, If-Modified-Since
  • XSRF protection

We can easily add he...

Here we have many different cases where we could show messages. In my example, I show “Object created” every time we get a 201 created status back from the server.

There are two use cases for errors that we can implement in the interceptor.

First, we can retry the HTTP call. For example, network interruptions are frequent in mobile scenarios, and trying again may produce a successful result. Things to consider here are how many times ...

Because interceptors can process the request and response together, they can do things like time and log an entire HTTP operation. So we can capture the time of the request and the response and log the outcome with the elapsed time.

A mock or fake backend can be used in development when you do not have a backend yet. You can also use it for code hosted in StackBlitz.

We mock the response depending on the request. And then return an observable of HttpResponse.

Since interceptors can handle requests by themselves, without forwarding to next.handle(), we can use it for caching requests.

What we do is use the URL a the key in our cache that is just a key-value map. And if we find a response in the map, we can return an observable of tha...

It is just so fundamental for many applications that we have a proper authentication system in place. This is one of the most common use cases for interceptors and for a good reason. It fits right in!

There are several things connected to authentication we can do:

  1. Add bearer toke...

Discover and save more ideas by creating a


Deepstash account.

Develop a

reading habit

, save


and create an amazing

knowledge library




Denying Your Own Creativity

That’s a self-imposed and self-limiting belief. Stop that.

Creativity is a requirement for problem-solving and we all problem-solve. Acknowledge that you're inherently creative, and then start tearing down the other barriers in your mind.




You focus more on what's wrong

... rather than what's right.

You can focus on what a lazy, forgetful, good-for-nothing partner you have or you can see them as a wonderful and loving partner who occasionally overlooks a request when he or she is distracted. 

Choose where to spend...