Skip to content

Commit 36d24ac

Browse files
GHXXmattqs
authored andcommitted
replaced JsonParser with JsonConvert to allow parsing custom types (#164)
1 parent f213381 commit 36d24ac

2 files changed

Lines changed: 8 additions & 11 deletions

File tree

Src/SocketIoClientDotNet.net45/Client/Socket.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ public override Emitter Emit(string eventString, params object[] args)
113113
_args.RemoveAt(_args.Count - 1);
114114
}
115115

116-
var jsonArgs = Parser.Packet.Args2JArray(_args);
116+
var jsonArgs = Newtonsoft.Json.JsonConvert.SerializeObject(_args);
117117

118118
var parserType = HasBinaryData.HasBinary(jsonArgs) ? Parser.Parser.BINARY_EVENT : Parser.Parser.EVENT;
119119
var packet = new Packet(parserType, jsonArgs);

Src/SocketIoClientDotNet.net45/Parser/Parser.cs

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,7 @@ private string EncodeAsString(Packet obj)
9696
if (obj.Data != null)
9797
{
9898
if (nsp) str.Append(",");
99-
if ((obj.Data as JToken).HasValues)
100-
{
101-
str.Append(obj.Data);
102-
}
99+
str.Append(obj.Data);
103100
}
104101

105102
var log = LogManager.GetLogger(Global.CallerName());
@@ -115,7 +112,7 @@ private void EncodeAsBinary(Packet obj, ICallback callback)
115112
foreach (var item in deconstruction.Buffers)
116113
{
117114
buffers.Add(item);
118-
}
115+
}
119116

120117
buffers.Insert(0, pack);
121118
callback.Call(buffers.ToArray());
@@ -147,7 +144,7 @@ public class Decoder : Emitter
147144

148145
public Decoder()
149146
{
150-
147+
151148
}
152149

153150
public void Add(string obj)
@@ -167,7 +164,7 @@ public void Add(string obj)
167164
this.Emit(EVENT_DECODED, packet);
168165
}
169166
}
170-
167+
171168

172169
public void Add(byte[] obj)
173170
{
@@ -191,7 +188,7 @@ private Packet decodeString(string str)
191188
Packet p = new Packet();
192189
int i = 0;
193190

194-
p.Type = int.Parse(str.Substring(0,1));
191+
p.Type = int.Parse(str.Substring(0, 1));
195192
if (p.Type < 0 || p.Type > types.Count - 1) return ErrorPacket;
196193

197194
if (BINARY_EVENT == p.Type || BINARY_ACK == p.Type)
@@ -204,7 +201,7 @@ private Packet decodeString(string str)
204201
p.Attachments = int.Parse(attachments.ToString());
205202
}
206203

207-
if (str.Length > i + 1 && "/" == str.Substring(i+1, 1))
204+
if (str.Length > i + 1 && "/" == str.Substring(i + 1, 1))
208205
{
209206
var nsp = new StringBuilder();
210207
while (true)
@@ -268,7 +265,7 @@ private Packet decodeString(string str)
268265
catch (Exception)
269266
{
270267
return ErrorPacket;
271-
}
268+
}
272269
}
273270
var log = LogManager.GetLogger(Global.CallerName());
274271
log.Info(string.Format("decoded {0} as {1}", str, p));

0 commit comments

Comments
 (0)