Sobes.tech
Middle+

Have you ever had to develop your own middleware?

sobes.tech AI

Answer from AI

Yes, I have implemented middleware for handling requests in ASP.NET Core applications.

The tasks I addressed included:

  • Logging incoming requests and outgoing responses.
  • Error and exception handling.
  • Authentication and authorization.
  • Protection against CSRF attacks.
  • Modifying HTTP headers.

Here's an example of simple logging middleware:

// Example of simple logging middleware
public class LoggingMiddleware
{
    private readonly RequestDelegate _next;
    private readonly ILogger<LoggingMiddleware> _logger;

    public LoggingMiddleware(RequestDelegate next, ILogger<LoggingMiddleware> logger)
    {
        _next = next;
        _logger = logger;
    }

    public async Task InvokeAsync(HttpContext context)
    {
        _logger.LogInformation($"Incoming request: {context.Request.Method} {context.Request.Path}");
        await _next(context); // Passing the request to the next middleware
        _logger.LogInformation($"Outgoing response: {context.Response.StatusCode}");
    }
}

// Usage in Startup.cs
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // ... other middleware
    app.UseMiddleware<LoggingMiddleware>();
    // ... other middleware
}
Have you ever had to develop your own middleware? — C# - sobes.tech