1. What are Angular HTTP interceptors and a common use case?
Interceptors sit between your app and HttpClient, letting you read/modify requests and responses globally. Typical uses: attach auth tokens, log timing, retry on failures, or translate error responses to user-friendly messages.
@Injectable()
export class AuthInterceptor implements HttpInterceptor {
intercept(req: HttpRequest<any>, next: HttpHandler){
const token = localStorage.getItem('userToken');
const cloned = token ? req.clone({ setHeaders: { Authorization: `Bearer ${token}` } }) : req;
return next.handle(cloned);
}
}