XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEExtension.NetCore.ServerInteractive

[DLL] Server interaction extension, including user identity verification and querying in conjunction with AutoConfig

公开
关注 0 Fork 0 Star 0
UTF-8
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;

/// <summary>
/// 服务器核心服务基类
/// </summary>
public abstract class XFEServerCoreServiceBase : IXFEStandardServerCoreServiceBase
{
    /// <inheritdoc/>
    public bool Handled { get => ReturnArgs.Handled; set => ReturnArgs.Handled = value; }
    /// <inheritdoc/>
    public string ClientIP { get => ReturnArgs.ClientIP; set => ReturnArgs.ClientIP = value; }
    /// <inheritdoc/>
    public bool IsStandardError { get => ReturnArgs.IsStandardError; set => ReturnArgs.IsStandardError = value; }
    /// <inheritdoc/>
    public string Route { get; set; } = string.Empty;
    /// <inheritdoc/>
    public XFEServerCore XFEServerCore { get; set; } = null!;
    /// <inheritdoc/>
    public XFEJsonNode? Json { get; set; }
    /// <inheritdoc/>
    public ServerCoreReturnArgs ReturnArgs { get; set; } = null!;
    /// <inheritdoc/>
    public CyberCommRequestEventArgs Args { get; set; } = null!;
    /// <inheritdoc/>
    public async Task Send(string message) => await ReturnArgs.Send(message);

    /// <inheritdoc/>
    public async Task Send(byte[] buffer) => await ReturnArgs.Send(buffer);

    /// <inheritdoc/>
    public async Task Send(Stream stream) => await ReturnArgs.Send(stream);

    /// <inheritdoc/>
    public async Task Close(string message) => await ReturnArgs.Close(message);

    /// <inheritdoc/>
    public async Task Close(byte[] buffer) => await ReturnArgs.Close(buffer);

    /// <inheritdoc/>
    public async Task Close(Stream stream) => await ReturnArgs.Close(stream);

    /// <inheritdoc/>
    public void OK() => ReturnArgs.OK();

    /// <inheritdoc/>
    public async Task CloseWithError(string message, HttpStatusCode code) => await ReturnArgs.CloseWithError(message, code);

    /// <inheritdoc/>
    public ServerCoreReturnArgs Error(string message, HttpStatusCode code = HttpStatusCode.BadRequest, bool handled = false) => ReturnArgs.Error(message, code, handled);

    /// <inheritdoc/>
    public async Task Send(object data) => await ReturnArgs.Send(data);

    /// <inheritdoc/>
    public async Task Close(object data) => await ReturnArgs.Close(data);
}