using System.Net.WebSockets; using Microsoft.AspNetCore.Http; namespace yawaflua.WebSockets.Models.Interfaces; public interface IWebSocketClient { /// /// ID of user /// public Guid Id { get; } /// /// Path, that user connects /// public string Path { get; } /// /// Connection info /// public ConnectionInfo? ConnectionInfo { get; } /// /// You can provides Items, like in auth middleware or any /// public IDictionary? Items { get; set; } /// /// HttpRequest data /// public HttpRequest? HttpRequest { get; } /// /// You should`nt use it, but, its full work with user /// internal WebSocket webSocket { get; } /// /// Kick client /// /// null public Task Abort(); }