111
啊鑫
2 天以前 971e03ccbe5124d4761f56e71025453d1d4742bc
entity/Base/RequestInfo.cs
@@ -1,11 +1,10 @@
using System.Dynamic;
namespace NewPdaSqlServer.entity.Base;
using Microsoft.AspNetCore.Http;
using System.Dynamic;
public class RequestInfo : DynamicObject
{
    private readonly ExpandoObject _data = new();
    private readonly IHttpContextAccessor _httpContextAccessor;
    private readonly ExpandoObject _data = new ExpandoObject();
    public RequestInfo(IHttpContextAccessor httpContextAccessor)
    {
@@ -24,9 +23,8 @@
    public override bool TryGetMember(GetMemberBinder binder, out object result)
    {
        var name = binder.Name;
        return ((IDictionary<string, object>)_data).TryGetValue(name,
            out result);
        string name = binder.Name;
        return ((IDictionary<string, object>)_data).TryGetValue(name, out result);
    }
    public override bool TrySetMember(SetMemberBinder binder, object value)
@@ -38,8 +36,10 @@
    public string GetHeaderValue(string key)
    {
        var httpContext = _httpContextAccessor.HttpContext;
        if (httpContext?.Request.Headers.TryGetValue(key, out var value) ==
            true) return value.ToString();
        if (httpContext?.Request.Headers.TryGetValue(key, out var value) == true)
        {
            return value.ToString();
        }
        return null;
    }
@@ -52,8 +52,12 @@
    public void ValidateRequired(params string[] requiredFields)
    {
        foreach (var field in requiredFields)
        {
            if (!((IDictionary<string, object>)_data).ContainsKey(field) ||
                ((IDictionary<string, object>)_data)[field] == null)
            {
                throw new ArgumentException($"请求头中缺少必需的 {field} 参数");
            }
        }
    }
}