修复不能客户端name,tag属性显示中文的乱码的问题

This commit is contained in:
kklldog
2021-04-20 14:19:00 +08:00
parent ea265806d3
commit fb75762163
@@ -7,6 +7,7 @@ using System.Net.WebSockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Web;
using AgileConfig.Server.Apisite.Filters;
using AgileConfig.Server.IService;
using Microsoft.AspNetCore.Http;
@@ -40,6 +41,7 @@ namespace AgileConfig.Server.Apisite.Websocket
{
if (!await appBasicAuth.ValidAsync(context.Request))
{
context.Response.StatusCode = 401;
await context.Response.WriteAsync("basic auth failed .");
return;
}
@@ -51,7 +53,15 @@ namespace AgileConfig.Server.Apisite.Websocket
}
WebSocket webSocket = await context.WebSockets.AcceptWebSocketAsync();
var name = context.Request.Headers["client_name"];
if (!string.IsNullOrEmpty(name))
{
name = HttpUtility.UrlDecode(name);
}
var tag = context.Request.Headers["client_tag"];
if (!string.IsNullOrEmpty(tag))
{
tag = HttpUtility.UrlDecode(tag);
}
var clientIp = GetRemoteIp(context.Request);
var client = new WebsocketClient()
@@ -75,6 +85,7 @@ namespace AgileConfig.Server.Apisite.Websocket
{
_logger.LogError(ex, "Handle websocket client {0} err .", client.Id);
await _websocketCollection.RemoveClient(client, WebSocketCloseStatus.Empty, ex.Message);
context.Response.StatusCode = 500;
await context.Response.WriteAsync("closed");
}
}