using System; using System.Net.Http; using System.Threading.Tasks; namespace ZonyLrcTools.Cli.Infrastructure.Network { /// /// 基于 封装的 HTTP 请求客户端。 /// public interface IWarpHttpClient { /// /// 根据指定的配置执行 POST 请求,并以 作为返回值。 /// /// 请求的 URL 地址。 /// 请求的参数。 /// 是否以 QueryString 形式携带参数。 /// 请求时的配置动作。 /// 服务端的响应结果。 ValueTask PostAsync(string url, object parameters = null, bool isQueryStringParam = false, Action requestOption = null); /// /// 根据指定的配置执行 POST 请求,并将结果反序列化为 对象。 /// /// 请求的 URL 地址。 /// 请求的参数。 /// 是否以 QueryString 形式携带参数。 /// 请求时的配置动作。 /// 需要将响应结果反序列化的目标类型。 /// 服务端的响应结果。 ValueTask PostAsync(string url, object parameters = null, bool isQueryStringParam = false, Action requestOption = null); /// /// 根据指定的配置执行 GET 请求,并以 作为返回值。 /// /// 请求的 URL 地址。 /// 请求的参数。 /// 请求时的配置动作。 /// 服务端的响应结果。 ValueTask GetAsync(string url, object parameters = null, Action requestOption = null); /// /// 根据指定的配置执行 GET 请求,并将结果反序列化为 对象。 /// /// 请求的 URL 地址。 /// 请求的参数。 /// 请求时的配置动作。 /// 需要将响应结果反序列化的目标类型。 /// 服务端的响应结果。 ValueTask GetAsync( string url, object parameters = null, Action requestOption = null); } }