namespace NATS.Server.JetStream.Api.Handlers; public static class ClusterControlApiHandlers { public static JetStreamApiResponse HandleMetaLeaderStepdown(JetStream.Cluster.JetStreamMetaGroup meta) { meta.StepDown(); return JetStreamApiResponse.SuccessResponse(); } public static JetStreamApiResponse HandleStreamLeaderStepdown(string subject, StreamManager streams) { if (!subject.StartsWith(JetStreamApiSubjects.StreamLeaderStepdown, StringComparison.Ordinal)) return JetStreamApiResponse.NotFound(subject); var stream = subject[JetStreamApiSubjects.StreamLeaderStepdown.Length..].Trim(); if (stream.Length == 0) return JetStreamApiResponse.NotFound(subject); streams.StepDownStreamLeaderAsync(stream, default).GetAwaiter().GetResult(); return JetStreamApiResponse.SuccessResponse(); } }