Commit 4f43bd16 authored by Honfika's avatar Honfika

WebSocket IsFinal flad added

parent c46293d5
...@@ -38,6 +38,7 @@ namespace Titanium.Web.Proxy ...@@ -38,6 +38,7 @@ namespace Titanium.Web.Proxy
} }
var opCode = (WebsocketOpCode)(data1[0] & 0xf); var opCode = (WebsocketOpCode)(data1[0] & 0xf);
bool isFinal = (data1[0] & 0x80) != 0;
byte b = data1[1]; byte b = data1[1];
long size = b & 0x7f; long size = b & 0x7f;
...@@ -61,11 +62,6 @@ namespace Titanium.Web.Proxy ...@@ -61,11 +62,6 @@ namespace Titanium.Web.Proxy
} }
} }
if (size < 0)
{
;
}
if (data1.Length < idx + size) if (data1.Length < idx + size)
{ {
break; break;
...@@ -109,7 +105,7 @@ namespace Titanium.Web.Proxy ...@@ -109,7 +105,7 @@ namespace Titanium.Web.Proxy
} }
var frameData = buffer.Slice(idx, (int)size); var frameData = buffer.Slice(idx, (int)size);
var frame = new WebSocketFrame { Data = frameData, OpCode = opCode }; var frame = new WebSocketFrame { IsFinal = isFinal, Data = frameData, OpCode = opCode };
yield return frame; yield return frame;
buffer = buffer.Slice((int)(idx + size)); buffer = buffer.Slice((int)(idx + size));
......
...@@ -5,6 +5,8 @@ namespace Titanium.Web.Proxy ...@@ -5,6 +5,8 @@ namespace Titanium.Web.Proxy
{ {
public class WebSocketFrame public class WebSocketFrame
{ {
public bool IsFinal { get; internal set; }
public WebsocketOpCode OpCode { get; internal set; } public WebsocketOpCode OpCode { get; internal set; }
public ReadOnlyMemory<byte> Data { get; internal set; } public ReadOnlyMemory<byte> Data { get; internal set; }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment