feat: We have added a new 'POST' method to retrieve cookies.

This commit is contained in:
real-zony 2023-03-12 18:35:07 +08:00
parent fb1f743365
commit afe1a7013c
2 changed files with 20 additions and 7 deletions

View File

@ -23,13 +23,7 @@ namespace ZonyLrcTools.Common.Infrastructure.Network
bool isQueryStringParam = false,
Action<HttpRequestMessage> 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<TResponse>(parameters, responseString);
}
public async ValueTask<HttpResponseMessage> PostReturnHttpResponseAsync(string url,
object parameters = null,
bool isQueryStringParam = false,
Action<HttpRequestMessage> 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<string> GetAsync(string url,
object parameters = null,
Action<HttpRequestMessage> requestOption = null)

View File

@ -32,6 +32,11 @@
bool isQueryStringParam = false,
Action<HttpRequestMessage> requestOption = null);
ValueTask<HttpResponseMessage> PostReturnHttpResponseAsync(string url,
object parameters = null,
bool isQueryStringParam = false,
Action<HttpRequestMessage> requestOption = null);
/// <summary>
/// 根据指定的配置执行 GET 请求,并以 <see cref="string"/> 作为返回值。
/// </summary>