From 9f60c9d147523f56cf67b8caad083535c71c4aa2 Mon Sep 17 00:00:00 2001 From: erdemcaygor Date: Tue, 29 Jul 2025 15:31:44 +0300 Subject: [PATCH] converted timezone interceptor to use function interceptor api --- .../lib/interceptors/timezone.interceptor.ts | 41 +++++++++---------- .../providers/core-module-config.provider.ts | 10 +---- 2 files changed, 21 insertions(+), 30 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/interceptors/timezone.interceptor.ts b/npm/ng-packs/packages/core/src/lib/interceptors/timezone.interceptor.ts index 7e3a887361..36da761849 100644 --- a/npm/ng-packs/packages/core/src/lib/interceptors/timezone.interceptor.ts +++ b/npm/ng-packs/packages/core/src/lib/interceptors/timezone.interceptor.ts @@ -1,26 +1,23 @@ -import { inject, Injectable } from '@angular/core'; -import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'; +import { inject } from '@angular/core'; +import { HttpHandlerFn, HttpInterceptorFn, HttpRequest } from '@angular/common/http'; import { TimezoneService } from '../services'; -import { Observable } from 'rxjs'; -@Injectable({ - providedIn: 'root', -}) -export class TimezoneInterceptor implements HttpInterceptor { - protected readonly timezoneService = inject(TimezoneService); +export const timezoneInterceptor: HttpInterceptorFn = ( + req: HttpRequest, + next: HttpHandlerFn, +) => { + const timezoneService = inject(TimezoneService); - intercept(req: HttpRequest, next: HttpHandler): Observable> { - if (!this.timezoneService.isUtcClockEnabled) { - return next.handle(req); - } - const timezone = this.timezoneService.timezone; - if (timezone) { - req = req.clone({ - setHeaders: { - __timezone: timezone, - }, - }); - } - return next.handle(req); + if (!timezoneService.isUtcClockEnabled) { + return next(req); } -} + const timezone = timezoneService.timezone; + if (timezone) { + req = req.clone({ + setHeaders: { + __timezone: timezone, + }, + }); + } + return next(req); +}; diff --git a/npm/ng-packs/packages/core/src/lib/providers/core-module-config.provider.ts b/npm/ng-packs/packages/core/src/lib/providers/core-module-config.provider.ts index 4a31dd4185..16bb2bf81c 100644 --- a/npm/ng-packs/packages/core/src/lib/providers/core-module-config.provider.ts +++ b/npm/ng-packs/packages/core/src/lib/providers/core-module-config.provider.ts @@ -1,7 +1,6 @@ import { makeEnvironmentProviders, Provider, inject, provideAppInitializer } from '@angular/core'; import { TitleStrategy } from '@angular/router'; import { - HTTP_INTERCEPTORS, provideHttpClient, withFetch, withInterceptors, @@ -27,7 +26,7 @@ import { DEFAULT_DYNAMIC_LAYOUTS } from '../constants'; import { LocalizationService, LocalStorageListenerService, AbpTitleStrategy } from '../services'; import { DefaultQueueManager, getInitialData, localeInitializer } from '../utils'; import { CookieLanguageProvider, IncludeLocalizationResourcesProvider, LocaleProvider } from './'; -import { TimezoneInterceptor, transferStateInterceptor } from '../interceptors'; +import { timezoneInterceptor, transferStateInterceptor } from '../interceptors'; export enum CoreFeatureKind { Options, @@ -108,7 +107,7 @@ export function provideAbpCore(...features: CoreFeature[]) { headerName: 'RequestVerificationToken', }), withFetch(), - withInterceptors([transferStateInterceptor]), + withInterceptors([transferStateInterceptor, timezoneInterceptor]), ), provideAppInitializer(() => { getInitialData(); @@ -134,11 +133,6 @@ export function provideAbpCore(...features: CoreFeature[]) { provide: TitleStrategy, useExisting: AbpTitleStrategy, }, - { - provide: HTTP_INTERCEPTORS, - useClass: TimezoneInterceptor, - multi: true, - }, ]; for (const feature of features) {