.net Core Middleware Example

3 min read Jun 03, 2024
.net Core Middleware Example

.NET Core Middleware : Un exemple pratique

Introduction

Le middleware est un composant clé de l'architecture .NET Core. Il permet d'intercepter les requêtes HTTP entrantes et de modifier la réponse HTTP sortante, offrant ainsi une grande flexibilité dans la gestion des demandes et des réponses. Ce guide vous propose un exemple concret de la mise en œuvre d'un middleware pour ajouter un en-tête personnalisé à chaque réponse HTTP.

Création du Middleware

Tout d'abord, créons une classe qui implémente l'interface IMiddleware :

public class CustomHeaderMiddleware
{
    private readonly RequestDelegate _next;

    public CustomHeaderMiddleware(RequestDelegate next)
    {
        _next = next;
    }

    public async Task InvokeAsync(HttpContext context)
    {
        // Ajout de l'en-tête personnalisé à la réponse
        context.Response.Headers.Add("X-Custom-Header", "Valeur personnalisée");

        // Appel du middleware suivant dans la chaîne
        await _next(context);
    }
}

Ce middleware ajoute un en-tête nommé "X-Custom-Header" avec la valeur "Valeur personnalisée" à chaque réponse HTTP.

Configuration du Middleware

Maintenant, configurez ce middleware dans votre application .NET Core. Vous pouvez le faire dans la méthode Configure de votre fichier Startup.cs :

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseMiddleware();

    app.UseRouting();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapGet("/", async context =>
        {
            await context.Response.WriteAsync("Hello World!");
        });
    });
}

Cette configuration ajoute le CustomHeaderMiddleware à la chaîne de middleware de l'application.

Exécution du Middleware

Lorsque vous lancez l'application et accédez à l'URL racine, vous constaterez que l'en-tête "X-Custom-Header" avec la valeur "Valeur personnalisée" est présent dans la réponse HTTP.

Conclusion

Cet exemple simple illustre l'utilisation du middleware .NET Core pour modifier les requêtes et les réponses HTTP. Vous pouvez utiliser le middleware pour effectuer diverses tâches, telles que l'authentification, la journalisation, la compression et bien plus encore. La flexibilité du middleware .NET Core vous permet de personnaliser le comportement de votre application selon vos besoins spécifiques. N'hésitez pas à explorer les nombreuses possibilités offertes par le middleware .NET Core pour optimiser vos applications.