]> git.deb.at Git - rhonda/impostor.git/commitdiff
Fix non custom disconnect reasons
authorjs6pak <kubastaron@hotmail.com>
Fri, 3 Jun 2022 18:17:59 +0000 (20:17 +0200)
committerjs6pak <kubastaron@hotmail.com>
Fri, 3 Jun 2022 18:17:59 +0000 (20:17 +0200)
src/Impostor.Server/Extensions/IHazelConnectionExtensions.cs
src/Impostor.Server/Net/ClientBase.cs
src/Impostor.Server/Net/Manager/ClientManager.cs

index d46e3704a4e957a666f66b8a1e8c0f8b8e7ec225..8fc534094687cdcabe0e791c9e8a3122bdc5e957 100644 (file)
@@ -12,9 +12,10 @@ namespace Impostor.Server
         /// Disconnect a connection using a custom message.
         /// </summary>
         /// <param name="connection">The connection to disconnect.</param>
-        /// <param name="message">The message to disconnect with.</param>
+        /// <param name="reason">The reason to disconnect with.</param>
+        /// <param name="message">The custom message to disconnect with if <paramref name="reason"/> is <see cref="DisconnectReason.Custom"/>.</param>
         /// <returns>Task that should be awaited to ensure disconnection.</returns>
-        public static async ValueTask CustomDisconnectAsync(this IHazelConnection connection, string message)
+        public static async ValueTask CustomDisconnectAsync(this IHazelConnection connection, DisconnectReason reason, string? message = null)
         {
             if (!connection.IsConnected)
             {
@@ -22,9 +23,9 @@ namespace Impostor.Server
             }
 
             using var writer = MessageWriter.Get();
-            MessageDisconnect.Serialize(writer, true, DisconnectReason.Custom, message);
+            MessageDisconnect.Serialize(writer, true, reason, message);
 
-            await connection.DisconnectAsync(DisconnectReason.Custom.ToString(), writer);
+            await connection.DisconnectAsync(reason.ToString(), writer);
         }
     }
 }
index 15dfe91982b65078a5af0f55c59cac7944876705..0a321f823c151169de06740fe3871ca7dc4bc8da 100644 (file)
@@ -53,7 +53,7 @@ namespace Impostor.Server.Net
 
         public async ValueTask DisconnectAsync(DisconnectReason reason, string? message = null)
         {
-            await Connection.CustomDisconnectAsync(message ?? reason.ToString());
+            await Connection.CustomDisconnectAsync(reason, message);
         }
     }
 }
index 0c498e6dd3a696cf7797883f52db2f699a77111b..cca6d85d754cf6428dd9a32c680e391df2eb19c1 100644 (file)
@@ -85,19 +85,19 @@ namespace Impostor.Server.Net.Manager
                     _ => throw new ArgumentOutOfRangeException(),
                 };
 
-                await connection.CustomDisconnectAsync(message);
+                await connection.CustomDisconnectAsync(DisconnectReason.Custom, message);
                 return;
             }
 
             if (name.Length > 10)
             {
-                await connection.CustomDisconnectAsync(DisconnectMessages.UsernameLength);
+                await connection.CustomDisconnectAsync(DisconnectReason.Custom, DisconnectMessages.UsernameLength);
                 return;
             }
 
             if (string.IsNullOrWhiteSpace(name))
             {
-                await connection.CustomDisconnectAsync(DisconnectMessages.UsernameIllegalCharacters);
+                await connection.CustomDisconnectAsync(DisconnectReason.Custom, DisconnectMessages.UsernameIllegalCharacters);
                 return;
             }