diff --git a/src/SKIT.FlurlHttpClient.Wechat/IWechatClient.cs b/src/SKIT.FlurlHttpClient.Wechat/IWechatClient.cs index 61b1d247..27ce94d6 100644 --- a/src/SKIT.FlurlHttpClient.Wechat/IWechatClient.cs +++ b/src/SKIT.FlurlHttpClient.Wechat/IWechatClient.cs @@ -19,20 +19,5 @@ namespace SKIT.FlurlHttpClient.Wechat /// /// public void Configure(Action configure); - - /// - /// 使用当前客户端生成一个新的 对象。 - /// - /// - /// - IFlurlRequest CreateRequest(params object[] urlSegments); - - /// - /// 使用当前客户端生成一个新的 对象。 - /// - /// - /// - /// - IFlurlRequest CreateRequest(HttpMethod method, params object[] urlSegments); } } diff --git a/src/SKIT.FlurlHttpClient.Wechat/WechatClientBase.cs b/src/SKIT.FlurlHttpClient.Wechat/WechatClientBase.cs index 2759a668..0611a756 100644 --- a/src/SKIT.FlurlHttpClient.Wechat/WechatClientBase.cs +++ b/src/SKIT.FlurlHttpClient.Wechat/WechatClientBase.cs @@ -75,33 +75,21 @@ namespace SKIT.FlurlHttpClient.Wechat }); } - /// - public IFlurlRequest CreateRequest(params object[] urlSegments) - { - return CreateRequest(HttpMethod.Get, urlSegments); - } - - /// - public IFlurlRequest CreateRequest(HttpMethod method, params object[] urlSegments) - { - return FlurlClient.Request(urlSegments).WithVerb(method); - } - /// /// 异步发起请求。 /// /// - /// + /// /// /// - protected virtual async Task SendRequestAsync(IFlurlRequest flurlRequest, HttpContent? content = null, CancellationToken cancellationToken = default) + protected virtual async Task SendRequestAsync(IFlurlRequest flurlRequest, HttpContent? httpContent = null, CancellationToken cancellationToken = default) { if (flurlRequest == null) throw new ArgumentNullException(nameof(flurlRequest)); var response = await flurlRequest .WithClient(FlurlClient) .AllowAnyHttpStatus() - .SendAsync(flurlRequest.Verb, content, cancellationToken) + .SendAsync(flurlRequest.Verb, httpContent, cancellationToken) .ConfigureAwait(false); return response; } @@ -117,12 +105,22 @@ namespace SKIT.FlurlHttpClient.Wechat { if (flurlRequest == null) throw new ArgumentNullException(nameof(flurlRequest)); - var response = await flurlRequest - .WithClient(FlurlClient) - .AllowAnyHttpStatus() - .SendJsonAsync(flurlRequest.Verb, data, cancellationToken) - .ConfigureAwait(false); - return response; + if (flurlRequest.Verb == HttpMethod.Get) + { + return await flurlRequest + .WithClient(FlurlClient) + .AllowAnyHttpStatus() + .SendAsync(flurlRequest.Verb, cancellationToken: cancellationToken) + .ConfigureAwait(false); + } + else + { + return await flurlRequest + .WithClient(FlurlClient) + .AllowAnyHttpStatus() + .SendJsonAsync(flurlRequest.Verb, data: data, cancellationToken: cancellationToken) + .ConfigureAwait(false); + } } /// diff --git a/test/SKIT.FlurlHttpClient.Wechat.TestTools/TestAssertUtil.cs b/test/SKIT.FlurlHttpClient.Wechat.TestTools/TestAssertUtil.cs index 86840c34..ff007e41 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TestTools/TestAssertUtil.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TestTools/TestAssertUtil.cs @@ -370,10 +370,10 @@ namespace SKIT.FlurlHttpClient.Wechat // 比对请求谓词 string expectedMethod = regexApi.Groups[1].Value.Trim(); string expectedUrl = regexApi.Groups[2].Value.Split('?')[0].Trim(); - string actualMethod = sourceCode.Contains($".{nameof(IWechatClient.CreateRequest)}(new HttpMethod(\"") ? - sourceCode.Split($".{nameof(IWechatClient.CreateRequest)}(new HttpMethod(\"")[1].Split("\"")[0] : - sourceCode.Contains($".{nameof(IWechatClient.CreateRequest)}(HttpMethod.") ? - sourceCode.Split($".{nameof(IWechatClient.CreateRequest)}(HttpMethod.")[1].Split(",")[0] : + string actualMethod = sourceCode.Contains(".CreateRequest(new HttpMethod(\"") ? + sourceCode.Split(".CreateRequest(new HttpMethod(\"")[1].Split("\"")[0] : + sourceCode.Contains(".CreateRequest(HttpMethod.") ? + sourceCode.Split(".CreateRequest(HttpMethod.")[1].Split(",")[0] : string.Empty; if (!string.Equals(expectedMethod, actualMethod, StringComparison.OrdinalIgnoreCase)) { @@ -383,8 +383,8 @@ namespace SKIT.FlurlHttpClient.Wechat // 比对请求路由 string actualUrl = sourceCode - .Split($"{nameof(IWechatClient.CreateRequest)}(", StringSplitOptions.RemoveEmptyEntries)[1] - .Substring(sourceCode.Split($"{nameof(IWechatClient.CreateRequest)}(", StringSplitOptions.RemoveEmptyEntries)[1].Split(",")[0].Length + 1) + .Split("CreateRequest(", StringSplitOptions.RemoveEmptyEntries)[1] + .Substring(sourceCode.Split("CreateRequest(", StringSplitOptions.RemoveEmptyEntries)[1].Split(",")[0].Length + 1) .Split('\n')[0] .Trim() .TrimEnd(')', ';')