feat(core): 移除 IWechatClient.CreateRequest 方法

This commit is contained in:
Fu Diwei 2021-07-11 00:56:21 +08:00
parent 3e51875f7b
commit 6d215be045
3 changed files with 25 additions and 42 deletions

View File

@ -19,20 +19,5 @@ namespace SKIT.FlurlHttpClient.Wechat
/// </summary> /// </summary>
/// <param name="configure"></param> /// <param name="configure"></param>
public void Configure(Action<WechatClientSettings> configure); public void Configure(Action<WechatClientSettings> configure);
/// <summary>
/// 使用当前客户端生成一个新的 <see cref="IFlurlRequest"/> 对象。
/// </summary>
/// <param name="urlSegments"></param>
/// <returns></returns>
IFlurlRequest CreateRequest(params object[] urlSegments);
/// <summary>
/// 使用当前客户端生成一个新的 <see cref="IFlurlRequest"/> 对象。
/// </summary>
/// <param name="method"></param>
/// <param name="urlSegments"></param>
/// <returns></returns>
IFlurlRequest CreateRequest(HttpMethod method, params object[] urlSegments);
} }
} }

View File

@ -75,33 +75,21 @@ namespace SKIT.FlurlHttpClient.Wechat
}); });
} }
/// <inheritdoc/>
public IFlurlRequest CreateRequest(params object[] urlSegments)
{
return CreateRequest(HttpMethod.Get, urlSegments);
}
/// <inheritdoc/>
public IFlurlRequest CreateRequest(HttpMethod method, params object[] urlSegments)
{
return FlurlClient.Request(urlSegments).WithVerb(method);
}
/// <summary> /// <summary>
/// 异步发起请求。 /// 异步发起请求。
/// </summary> /// </summary>
/// <param name="flurlRequest"></param> /// <param name="flurlRequest"></param>
/// <param name="content"></param> /// <param name="httpContent"></param>
/// <param name="cancellationToken"></param> /// <param name="cancellationToken"></param>
/// <returns></returns> /// <returns></returns>
protected virtual async Task<IFlurlResponse> SendRequestAsync(IFlurlRequest flurlRequest, HttpContent? content = null, CancellationToken cancellationToken = default) protected virtual async Task<IFlurlResponse> SendRequestAsync(IFlurlRequest flurlRequest, HttpContent? httpContent = null, CancellationToken cancellationToken = default)
{ {
if (flurlRequest == null) throw new ArgumentNullException(nameof(flurlRequest)); if (flurlRequest == null) throw new ArgumentNullException(nameof(flurlRequest));
var response = await flurlRequest var response = await flurlRequest
.WithClient(FlurlClient) .WithClient(FlurlClient)
.AllowAnyHttpStatus() .AllowAnyHttpStatus()
.SendAsync(flurlRequest.Verb, content, cancellationToken) .SendAsync(flurlRequest.Verb, httpContent, cancellationToken)
.ConfigureAwait(false); .ConfigureAwait(false);
return response; return response;
} }
@ -117,12 +105,22 @@ namespace SKIT.FlurlHttpClient.Wechat
{ {
if (flurlRequest == null) throw new ArgumentNullException(nameof(flurlRequest)); if (flurlRequest == null) throw new ArgumentNullException(nameof(flurlRequest));
var response = await flurlRequest if (flurlRequest.Verb == HttpMethod.Get)
.WithClient(FlurlClient) {
.AllowAnyHttpStatus() return await flurlRequest
.SendJsonAsync(flurlRequest.Verb, data, cancellationToken) .WithClient(FlurlClient)
.ConfigureAwait(false); .AllowAnyHttpStatus()
return response; .SendAsync(flurlRequest.Verb, cancellationToken: cancellationToken)
.ConfigureAwait(false);
}
else
{
return await flurlRequest
.WithClient(FlurlClient)
.AllowAnyHttpStatus()
.SendJsonAsync(flurlRequest.Verb, data: data, cancellationToken: cancellationToken)
.ConfigureAwait(false);
}
} }
/// <summary> /// <summary>

View File

@ -370,10 +370,10 @@ namespace SKIT.FlurlHttpClient.Wechat
// 比对请求谓词 // 比对请求谓词
string expectedMethod = regexApi.Groups[1].Value.Trim(); string expectedMethod = regexApi.Groups[1].Value.Trim();
string expectedUrl = regexApi.Groups[2].Value.Split('?')[0].Trim(); string expectedUrl = regexApi.Groups[2].Value.Split('?')[0].Trim();
string actualMethod = sourceCode.Contains($".{nameof(IWechatClient.CreateRequest)}(new HttpMethod(\"") ? string actualMethod = sourceCode.Contains(".CreateRequest(new HttpMethod(\"") ?
sourceCode.Split($".{nameof(IWechatClient.CreateRequest)}(new HttpMethod(\"")[1].Split("\"")[0] : sourceCode.Split(".CreateRequest(new HttpMethod(\"")[1].Split("\"")[0] :
sourceCode.Contains($".{nameof(IWechatClient.CreateRequest)}(HttpMethod.") ? sourceCode.Contains(".CreateRequest(HttpMethod.") ?
sourceCode.Split($".{nameof(IWechatClient.CreateRequest)}(HttpMethod.")[1].Split(",")[0] : sourceCode.Split(".CreateRequest(HttpMethod.")[1].Split(",")[0] :
string.Empty; string.Empty;
if (!string.Equals(expectedMethod, actualMethod, StringComparison.OrdinalIgnoreCase)) if (!string.Equals(expectedMethod, actualMethod, StringComparison.OrdinalIgnoreCase))
{ {
@ -383,8 +383,8 @@ namespace SKIT.FlurlHttpClient.Wechat
// 比对请求路由 // 比对请求路由
string actualUrl = sourceCode string actualUrl = sourceCode
.Split($"{nameof(IWechatClient.CreateRequest)}(", StringSplitOptions.RemoveEmptyEntries)[1] .Split("CreateRequest(", StringSplitOptions.RemoveEmptyEntries)[1]
.Substring(sourceCode.Split($"{nameof(IWechatClient.CreateRequest)}(", StringSplitOptions.RemoveEmptyEntries)[1].Split(",")[0].Length + 1) .Substring(sourceCode.Split("CreateRequest(", StringSplitOptions.RemoveEmptyEntries)[1].Split(",")[0].Length + 1)
.Split('\n')[0] .Split('\n')[0]
.Trim() .Trim()
.TrimEnd(')', ';') .TrimEnd(')', ';')