feat: add /connz endpoint with pagination, sorting, and subscription details

This commit is contained in:
Joseph Doherty
2026-02-22 22:36:28 -05:00
parent 87746168ba
commit 9eb108b1df
3 changed files with 233 additions and 3 deletions

View File

@@ -14,6 +14,7 @@ public sealed class MonitorServer : IAsyncDisposable
private readonly WebApplication _app;
private readonly ILogger<MonitorServer> _logger;
private readonly VarzHandler _varzHandler;
private readonly ConnzHandler _connzHandler;
public MonitorServer(NatsServer server, NatsOptions options, ServerStats stats, ILoggerFactory loggerFactory)
{
@@ -27,6 +28,7 @@ public sealed class MonitorServer : IAsyncDisposable
var basePath = options.MonitorBasePath ?? "";
_varzHandler = new VarzHandler(server, options);
_connzHandler = new ConnzHandler(server);
_app.MapGet(basePath + "/", () =>
{
@@ -51,12 +53,13 @@ public sealed class MonitorServer : IAsyncDisposable
return Results.Ok(await _varzHandler.HandleVarzAsync(ctx.RequestAborted));
});
// Stubs for unimplemented endpoints
_app.MapGet(basePath + "/connz", () =>
_app.MapGet(basePath + "/connz", (HttpContext ctx) =>
{
stats.HttpReqStats.AddOrUpdate("/connz", 1, (_, v) => v + 1);
return Results.Ok(new { });
return Results.Ok(_connzHandler.HandleConnz(ctx));
});
// Stubs for unimplemented endpoints
_app.MapGet(basePath + "/routez", () =>
{
stats.HttpReqStats.AddOrUpdate("/routez", 1, (_, v) => v + 1);