Skip to content
This repository has been archived by the owner on Oct 19, 2023. It is now read-only.

Commit

Permalink
Parse xml and json chain
Browse files Browse the repository at this point in the history
  • Loading branch information
TheSnowfield committed Sep 11, 2021
1 parent 0ab3665 commit 5b35e00
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 8 deletions.
11 changes: 8 additions & 3 deletions Message/Model/JsonChain.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
namespace Konata.Core.Message.Model
// ReSharper disable ArrangeObjectCreationWhenTypeNotEvident

namespace Konata.Core.Message.Model
{
public class JsonChain : BaseChain
{
/// <summary>
/// Json content
/// </summary>
private string Content { get; }

private JsonChain(string json)
Expand All @@ -11,10 +16,10 @@ private JsonChain(string json)
}

/// <summary>
///
/// Create a json chain
/// </summary>
/// <param name="json"></param>
internal JsonChain Create(string json)
public static JsonChain Create(string json)
{
return new(json);
}
Expand Down
11 changes: 8 additions & 3 deletions Message/Model/XmlChain.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
namespace Konata.Core.Message.Model
// ReSharper disable ArrangeObjectCreationWhenTypeNotEvident

namespace Konata.Core.Message.Model
{
public class XmlChain : BaseChain
{
/// <summary>
/// Xml content
/// </summary>
private string Content { get; }

private XmlChain(string xml)
Expand All @@ -11,10 +16,10 @@ private XmlChain(string xml)
}

/// <summary>
///
/// Create a xml chain
/// </summary>
/// <param name="xml"></param>
internal XmlChain Create(string xml)
public static XmlChain Create(string xml)
{
return new(xml);
}
Expand Down
9 changes: 7 additions & 2 deletions Services/OnlinePush/PbPushGroupMsg.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System;
using System.Linq;
using System.Net.NetworkInformation;
using System.Text;
using Konata.Core.Events;
using Konata.Core.Events.Model;
using Konata.Core.Message;
Expand Down Expand Up @@ -141,7 +142,9 @@ public bool Parse(SSOFrame input, BotKeyStore keystore, out ProtocolEvent output
/// <returns></returns>
private static BaseChain ParseJSON(ProtoTreeRoot tree)
{
return null;
var bytes = tree.GetLeafBytes("0A");
var json = Deflate.Decompress(bytes[1..^1]);
return JsonChain.Create(Encoding.UTF8.GetString(json));
}

/// <summary>
Expand All @@ -151,7 +154,9 @@ private static BaseChain ParseJSON(ProtoTreeRoot tree)
/// <returns></returns>
private static BaseChain ParseXML(ProtoTreeRoot tree)
{
return null;
var bytes = tree.GetLeafBytes("0A");
var xml = Deflate.Decompress(bytes[1..^1]);
return XmlChain.Create(Encoding.UTF8.GetString(xml));
}

/// <summary>
Expand Down

0 comments on commit 5b35e00

Please sign in to comment.