From ce8ed0d7add084aa4550896f2c576bec0012f5f4 Mon Sep 17 00:00:00 2001 From: ChronosX88 Date: Fri, 9 Oct 2020 17:12:02 +0400 Subject: [PATCH] Add SendMessage with automatic json serialization in ConnectionHandler --- src/Zirconium/Core/ConnectionHandler.cs | 5 +++++ src/ZirconiumPlugins/InBandLogin/Plugin.cs | 15 +++++---------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Zirconium/Core/ConnectionHandler.cs b/src/Zirconium/Core/ConnectionHandler.cs index 5755ea6..79c6168 100644 --- a/src/Zirconium/Core/ConnectionHandler.cs +++ b/src/Zirconium/Core/ConnectionHandler.cs @@ -82,6 +82,11 @@ namespace Zirconium.Core this.Send(message); } + public void SendMessage(BaseMessage message) + { + this.Send(JsonConvert.SerializeObject(message)); + } + public void CloseConnection() { this.Sessions.CloseSession(this.ID); // TODO need to clarify if CloseSession also calls OnClose callback } diff --git a/src/ZirconiumPlugins/InBandLogin/Plugin.cs b/src/ZirconiumPlugins/InBandLogin/Plugin.cs index 0911650..692f580 100644 --- a/src/ZirconiumPlugins/InBandLogin/Plugin.cs +++ b/src/ZirconiumPlugins/InBandLogin/Plugin.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using Newtonsoft.Json; -using Zirconium.Core.Logging; using Zirconium.Core.Models; using Zirconium.Core.Plugins.Interfaces; using Zirconium.Utils; @@ -98,8 +97,7 @@ namespace InBandLogin p.DeviceID = deviceID; reply.Payload = p.ToDictionary(); reply.Ok = true; - var msg = JsonConvert.SerializeObject(reply); - session.ConnectionHandler.SendMessage(msg); + session.ConnectionHandler.SendMessage(reply); } else { @@ -108,9 +106,8 @@ namespace InBandLogin errID, "Username/password isn't valid", new Dictionary() - ).ToDictionary(); - var msg = JsonConvert.SerializeObject(reply); - session.ConnectionHandler.SendMessage(msg); + ); + session.ConnectionHandler.SendMessage(reply); } } @@ -170,8 +167,7 @@ namespace InBandLogin new Dictionary() ); } - var errorMsg = JsonConvert.SerializeObject(errorReply); - session.ConnectionHandler.SendMessage(errorMsg); + session.ConnectionHandler.SendMessage(errorReply); return; } BaseMessage reply = new BaseMessage(message, true); @@ -185,8 +181,7 @@ namespace InBandLogin } reply.Payload = p.ToDictionary(); reply.Ok = true; - var msg = JsonConvert.SerializeObject(reply); - session.ConnectionHandler.SendMessage(msg); + session.ConnectionHandler.SendMessage(reply); } public bool IsAuthorizationRequired()