feat: add auth fields to ServerInfo and ClientOptions protocol types

This commit is contained in:
Joseph Doherty
2026-02-22 22:19:18 -05:00
parent 91aff1a867
commit 11dc5e62f3
2 changed files with 83 additions and 0 deletions

View File

@@ -26,6 +26,10 @@ public static class NatsProtocol
public const string ErrMaxPayloadViolation = "Maximum Payload Violation";
public const string ErrInvalidPublishSubject = "Invalid Publish Subject";
public const string ErrInvalidSubject = "Invalid Subject";
public const string ErrAuthorizationViolation = "Authorization Violation";
public const string ErrAuthTimeout = "Authentication Timeout";
public const string ErrPermissionsPublish = "Permissions Violation for Publish";
public const string ErrPermissionsSubscribe = "Permissions Violation for Subscription";
}
public sealed class ServerInfo
@@ -61,6 +65,14 @@ public sealed class ServerInfo
[JsonPropertyName("client_ip")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string? ClientIp { get; set; }
[JsonPropertyName("auth_required")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
public bool AuthRequired { get; set; }
[JsonPropertyName("nonce")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string? Nonce { get; set; }
}
public sealed class ClientOptions
@@ -91,4 +103,19 @@ public sealed class ClientOptions
[JsonPropertyName("no_responders")]
public bool NoResponders { get; set; }
[JsonPropertyName("user")]
public string? Username { get; set; }
[JsonPropertyName("pass")]
public string? Password { get; set; }
[JsonPropertyName("auth_token")]
public string? Token { get; set; }
[JsonPropertyName("nkey")]
public string? Nkey { get; set; }
[JsonPropertyName("sig")]
public string? Sig { get; set; }
}