javascript / expert
Snippet
Metadaten-gesteuerte Netzwerklogik mit HttpContext
Funktionale Interceptoren in Angular können `HttpContext` nutzen, um spezifische Anweisungen vom aufrufenden Service zu erhalten. Durch die Definition von `HttpContextToken`s können Metadaten (wie Caching-Flags oder Retry-Policies) durch die HTTP-Pipeline geleitet werden, ohne die URL oder Header zu belasten. Dies ermöglicht eine hochflexible und wiederverwendbare Middleware.
snippet.js
1
2
3
4
5
6
7
8
9
10
import { HttpContext, HttpContextToken, HttpInterceptorFn } from '@angular/common/http';export const IS_CACHE_ENABLED = new HttpContextToken<boolean>(() => false);export const cacheInterceptor: HttpInterceptorFn = (req, next) => {if (req.context.get(IS_CACHE_ENABLED)) {console.log('Caching logic triggered for:', req.url);}return next(req);};
angular
Erklärung
1
export const IS_CACHE_ENABLED = new HttpContextToken<boolean>(() => false);
Erstellt ein eindeutiges Token zur Übergabe von booleschen Metadaten durch HTTP-Anfragen.
2
if (req.context.get(IS_CACHE_ENABLED))
Ruft den Wert des Tokens aus dem Request-Kontext ab, um über die Interceptor-Logik zu entscheiden.