diff --git a/src/ZonyLrcTools.Common/Infrastructure/Network/DefaultWarpHttpClient.cs b/src/ZonyLrcTools.Common/Infrastructure/Network/DefaultWarpHttpClient.cs index fccf173..5f581c4 100644 --- a/src/ZonyLrcTools.Common/Infrastructure/Network/DefaultWarpHttpClient.cs +++ b/src/ZonyLrcTools.Common/Infrastructure/Network/DefaultWarpHttpClient.cs @@ -23,13 +23,7 @@ namespace ZonyLrcTools.Common.Infrastructure.Network bool isQueryStringParam = false, Action requestOption = null) { - var parametersStr = isQueryStringParam ? BuildQueryString(parameters) : BuildJsonBodyString(parameters); - var requestMessage = new HttpRequestMessage(HttpMethod.Post, new Uri(url)); - requestMessage.Content = new StringContent(parametersStr); - - requestOption?.Invoke(requestMessage); - - using var responseMessage = await BuildHttpClient().SendAsync(requestMessage); + using var responseMessage = await PostReturnHttpResponseAsync(url, parameters, isQueryStringParam, requestOption); var responseContentString = await responseMessage.Content.ReadAsStringAsync(); return ValidateHttpResponse(responseMessage, parameters, responseContentString); @@ -44,6 +38,20 @@ namespace ZonyLrcTools.Common.Infrastructure.Network return ConvertHttpResponseToObject(parameters, responseString); } + public async ValueTask PostReturnHttpResponseAsync(string url, + object parameters = null, + bool isQueryStringParam = false, + Action requestOption = null) + { + var parametersStr = isQueryStringParam ? BuildQueryString(parameters) : BuildJsonBodyString(parameters); + var requestMessage = new HttpRequestMessage(HttpMethod.Post, new Uri(url)); + requestMessage.Content = new StringContent(parametersStr); + + requestOption?.Invoke(requestMessage); + + return await BuildHttpClient().SendAsync(requestMessage); + } + public async ValueTask GetAsync(string url, object parameters = null, Action requestOption = null) diff --git a/src/ZonyLrcTools.Common/Infrastructure/Network/IWarpHttpClient.cs b/src/ZonyLrcTools.Common/Infrastructure/Network/IWarpHttpClient.cs index 0a63cc1..86ade4d 100644 --- a/src/ZonyLrcTools.Common/Infrastructure/Network/IWarpHttpClient.cs +++ b/src/ZonyLrcTools.Common/Infrastructure/Network/IWarpHttpClient.cs @@ -32,6 +32,11 @@ bool isQueryStringParam = false, Action requestOption = null); + ValueTask PostReturnHttpResponseAsync(string url, + object parameters = null, + bool isQueryStringParam = false, + Action requestOption = null); + /// /// 根据指定的配置执行 GET 请求,并以 作为返回值。 ///