CurlDotNet
CurlDotNet.Middleware
ICurlMiddleware Interface
Interface for curl middleware/interceptors.
public interface ICurlMiddleware
Derived
↳ AuthenticationMiddleware
↳ CachingMiddleware
↳ LoggingMiddleware
↳ RateLimitMiddleware
↳ RequestModifierMiddleware
↳ ResponseModifierMiddleware
↳ RetryMiddleware
↳ TimingMiddleware
Example
public class LoggingMiddleware : ICurlMiddleware
{
public async Task<CurlResult> ExecuteAsync(CurlContext context, Func<Task<CurlResult>> next)
{
Console.WriteLine($"Executing: {context.Command}");
var result = await next();
Console.WriteLine($"Status: {result.StatusCode}");
return result;
}
}
Remarks
Middleware can modify requests before execution and responses after execution.
Multiple middleware can be chained together in a pipeline.
AI-Usage: Implement this interface to add cross-cutting concerns like logging, retry, caching, etc.
| Methods | |
|---|---|
| ExecuteAsync(CurlContext, Func<Task<CurlResult>>) | Execute the middleware logic. |