mirror of
https://github.com/AlexMacocian/Net.Sdk.Web.Extensions.git
synced 2026-07-15 13:39:29 +00:00
28 lines
914 B
C#
28 lines
914 B
C#
using System.Text;
|
|
|
|
namespace AspNetCore.Extensions.Websockets.Converters;
|
|
|
|
public sealed class TextWebSocketMessageConverter : WebSocketMessageConverter<TextContent>
|
|
{
|
|
public override TextContent ConvertTo(WebSocketConverterRequest request)
|
|
{
|
|
if (request.Type is not System.Net.WebSockets.WebSocketMessageType.Text)
|
|
{
|
|
throw new InvalidOperationException($"Cannot parse message of type {request.Type}");
|
|
}
|
|
|
|
var message = Encoding.UTF8.GetString(request.Payload!);
|
|
return new TextContent { Text = message };
|
|
}
|
|
|
|
public override WebSocketConverterResponse ConvertFrom(TextContent message)
|
|
{
|
|
return new WebSocketConverterResponse
|
|
{
|
|
Type = System.Net.WebSockets.WebSocketMessageType.Text,
|
|
EndOfMessage = true,
|
|
Payload = Encoding.UTF8.GetBytes(message.Text ?? string.Empty)
|
|
};
|
|
}
|
|
}
|