using System.Net;
using XFEExtension.NetCore.CyberComm;
using XFEExtension.NetCore.ServerInteractive.Interfaces.CoreService;
using XFEExtension.NetCore.ServerInteractive.Models.ServerModels;
using XFEExtension.NetCore.ServerInteractive.Utilities.Server;
using XFEExtension.NetCore.XFETransform.Json;
namespace XFEExtension.NetCore.ServerInteractive.Implements.CoreService;
///
/// 服务器核心服务基类
///
public abstract class XFEServerCoreServiceBase : IXFEStandardServerCoreServiceBase
{
///
public bool Handled { get => ReturnArgs.Handled; set => ReturnArgs.Handled = value; }
///
public string ClientIP { get => ReturnArgs.ClientIP; set => ReturnArgs.ClientIP = value; }
///
public bool IsStandardError { get => ReturnArgs.IsStandardError; set => ReturnArgs.IsStandardError = value; }
///
public string Route { get; set; } = string.Empty;
///
public XFEServerCore XFEServerCore { get; set; } = null!;
///
public XFEJsonNode? Json { get; set; }
///
public ServerCoreReturnArgs ReturnArgs { get; set; } = null!;
///
public CyberCommRequestEventArgs Args { get; set; } = null!;
///
public async Task Send(string message) => await ReturnArgs.Send(message);
///
public async Task Send(byte[] buffer) => await ReturnArgs.Send(buffer);
///
public async Task Send(Stream stream) => await ReturnArgs.Send(stream);
///
public async Task Close(string message) => await ReturnArgs.Close(message);
///
public async Task Close(byte[] buffer) => await ReturnArgs.Close(buffer);
///
public async Task Close(Stream stream) => await ReturnArgs.Close(stream);
///
public void OK() => ReturnArgs.OK();
///
public async Task CloseWithError(string message, HttpStatusCode code) => await ReturnArgs.CloseWithError(message, code);
///
public ServerCoreReturnArgs Error(string message, HttpStatusCode code = HttpStatusCode.BadRequest, bool handled = false) => ReturnArgs.Error(message, code, handled);
///
public async Task Send(object data) => await ReturnArgs.Send(data);
///
public async Task Close(object data) => await ReturnArgs.Close(data);
}