0 Tage Serie
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
javascript
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.