पाठ 22 / 32
HTTP Interceptors और Error Handling
Functional HTTP interceptors से हर request में auth headers, logging और global error handling जोड़ें।
Functional interceptor
Functional interceptor एक function है जो हर request भेजने से पहले उसे clone व modify कर सकता है और response या error संभाल सकता है।
import { HttpInterceptorFn } from '@angular/common/http';
import { inject } from '@angular/core';
import { catchError, throwError } from 'rxjs';
export const authInterceptor: HttpInterceptorFn = (req, next) => {
const token = inject(AuthService).token();
const authReq = token ? req.clone({ setHeaders: { Authorization: `Bearer ${token}` } }) : req;
return next(authReq).pipe(
catchError((err) => {
if (err.status === 401) inject(AuthService).logout();
return throwError(() => err);
}),
);
};इसे register करें
HttpClient provide करते समय interceptors जोड़ें।
bootstrapApplication(AppComponent, {
providers: [provideHttpClient(withInterceptors([authInterceptor]))],
});Interceptors सूचीबद्ध क्रम में चलते हैं। हर एक को केंद्रित रखें, और tokens या निजी data कभी log न करें।