Browse Source

1.修复http请求没有完成是就关闭连接导致数据被截断

2.增加token对QueryString的支持
tags/v2.2.2
smallchi 5 years ago
parent
commit
4334cb70e4
2 changed files with 25 additions and 2 deletions
  1. +17
    -0
      src/JT808.DotNetty.Tests/JT808.DotNetty.WebApi.Test/Handlers/JT808WebAPIServerHandlerTest.cs
  2. +8
    -2
      src/JT808.DotNetty.WebApi/Handlers/JT808WebAPIServerHandler.cs

+ 17
- 0
src/JT808.DotNetty.Tests/JT808.DotNetty.WebApi.Test/Handlers/JT808WebAPIServerHandlerTest.cs View File

@@ -121,6 +121,23 @@ namespace JT808.DotNetty.WebApi.Test.Handlers
Assert.Equal(1, result.Data.MsgFailCount);
Assert.Equal(JT808ResultCode.Ok, result.Code);
}

[Fact]
public void UriTest1()
{
string uri = JT808NettyConstants.JT808WebApiRouteTable.SessionTcpGetAll +"? token=123456";
var uriSpan = uri.AsSpan();
var index = uriSpan.IndexOf('?');
var result = uriSpan.Slice(0, index).ToString();
Assert.Equal(JT808NettyConstants.JT808WebApiRouteTable.SessionTcpGetAll, result);
}

[Fact]
public void UriTest2()
{
var index = JT808NettyConstants.JT808WebApiRouteTable.SessionTcpGetAll.IndexOf('?');
Assert.Equal(-1, index);
}
}

public static class WebExt


+ 8
- 2
src/JT808.DotNetty.WebApi/Handlers/JT808WebAPIServerHandler.cs View File

@@ -51,7 +51,14 @@ namespace JT808.DotNetty.WebApi.Handlers
}
else
{
if (jT808MsgIdHttpHandlerBase.HandlerDict.TryGetValue(msg.Uri, out var funcHandler))
var uriSpan = msg.Uri.AsSpan();
var index = uriSpan.IndexOf('?');
string uri = msg.Uri;
if (index > 0)
{
uri = uriSpan.Slice(0, index).ToString();
}
if (jT808MsgIdHttpHandlerBase.HandlerDict.TryGetValue(uri, out var funcHandler))
{
jT808HttpResponse = funcHandler(new JT808HttpRequest() { Json = msg.Content.ToString(Encoding.UTF8) });
}
@@ -77,7 +84,6 @@ namespace JT808.DotNetty.WebApi.Handlers
headers.Set(ContentLengthEntity, contentLength);
// Close the non-keep-alive connection after the write operation is done.
ctx.WriteAndFlushAsync(response);
ctx.CloseAsync();
}

public override void ExceptionCaught(IChannelHandlerContext context, Exception exception)


Loading…
Cancel
Save