diff --git a/DebugProbe.AspNetCore/DebugProbe.AspNetCore.csproj b/DebugProbe.AspNetCore/DebugProbe.AspNetCore.csproj index 7105867..aacb610 100644 --- a/DebugProbe.AspNetCore/DebugProbe.AspNetCore.csproj +++ b/DebugProbe.AspNetCore/DebugProbe.AspNetCore.csproj @@ -4,8 +4,8 @@ net8.0 enable enable - true + 1591 DebugProbe.AspNetCore 1.4.1-preview.2 diff --git a/DebugProbe.AspNetCore/Extensions/DebugProbeExtensions.cs b/DebugProbe.AspNetCore/Extensions/DebugProbeExtensions.cs index 17595dd..29ac12d 100644 --- a/DebugProbe.AspNetCore/Extensions/DebugProbeExtensions.cs +++ b/DebugProbe.AspNetCore/Extensions/DebugProbeExtensions.cs @@ -13,6 +13,9 @@ namespace DebugProbe.AspNetCore.Extensions; +/// +/// Extension methods for configuring DebugProbe. +/// public static class DebugProbeExtensions { private static readonly HttpClient Http = new() @@ -20,9 +23,10 @@ public static class DebugProbeExtensions Timeout = TimeSpan.FromSeconds(5) }; - public static IServiceCollection AddDebugProbe( - this IServiceCollection services, - Action? configure = null) + /// + /// Enables the DebugProbe middleware and dashboard. + /// + public static IServiceCollection AddDebugProbe(this IServiceCollection services, Action? configure = null) { var options = new DebugProbeOptions(); configure?.Invoke(options); @@ -33,6 +37,9 @@ public static IServiceCollection AddDebugProbe( return services; } + /// + /// Registers DebugProbe services. + /// public static IApplicationBuilder UseDebugProbe(this IApplicationBuilder app) { app.UseMiddleware(); @@ -188,6 +195,4 @@ public static IApplicationBuilder UseDebugProbe(this IApplicationBuilder app) return app; } - - } diff --git a/DebugProbe.AspNetCore/Middleware/DebugProbeMiddleware.cs b/DebugProbe.AspNetCore/Middleware/DebugProbeMiddleware.cs index 26fd3b7..04a7a6f 100644 --- a/DebugProbe.AspNetCore/Middleware/DebugProbeMiddleware.cs +++ b/DebugProbe.AspNetCore/Middleware/DebugProbeMiddleware.cs @@ -43,12 +43,18 @@ public class DebugProbeMiddleware private readonly RequestDelegate _next; private readonly DebugProbeOptions _options; + /// + /// Initializes a new instance of the middleware. + /// public DebugProbeMiddleware(RequestDelegate next, DebugProbeOptions options) { _next = next; _options = options; } + /// + /// Processes the current HTTP request. + /// public async Task Invoke(HttpContext context, DebugEntryStore store) { var path = context.Request.Path.Value ?? string.Empty; diff --git a/DebugProbe.AspNetCore/Options/DebugProbeOptions.cs b/DebugProbe.AspNetCore/Options/DebugProbeOptions.cs index e42f8a0..fe6ee3d 100644 --- a/DebugProbe.AspNetCore/Options/DebugProbeOptions.cs +++ b/DebugProbe.AspNetCore/Options/DebugProbeOptions.cs @@ -1,13 +1,27 @@ namespace DebugProbe.AspNetCore.Options; +/// +/// Configuration options for DebugProbe. +/// public class DebugProbeOptions { + /// + /// Maximum number of stored entries. + /// public int MaxEntries { get; set; } = 20; + /// + /// Maximum captured request or response body size in kilobytes. + /// public int MaxBodyCaptureSizeKb { get; set; } = 256; + /// + /// Allows compare requests to local or private network targets. + /// public bool AllowLocalCompareTargets { get; set; } + /// + /// Additional request paths to ignore. + /// public string[] IgnorePaths { get; set; } = []; - } diff --git a/DebugProbe.AspNetCore/Storage/DebugEntryStore.cs b/DebugProbe.AspNetCore/Storage/DebugEntryStore.cs index 51e36e8..0aed7f8 100644 --- a/DebugProbe.AspNetCore/Storage/DebugEntryStore.cs +++ b/DebugProbe.AspNetCore/Storage/DebugEntryStore.cs @@ -9,15 +9,19 @@ namespace DebugProbe.AspNetCore.Storage; /// -/// In-memory store for DebugEntry instances with a configurable size limit. +/// Stores captured DebugProbe entries in memory. /// public class DebugEntryStore { + /// + /// Gets environment information for the current application. + /// public DebugEnvironment Environment { get; } private readonly ConcurrentQueue _queue = new(); private readonly int _limit; + public DebugEntryStore(DebugProbeOptions options) { _limit = options.MaxEntries;