You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shenyu.apache.org by ga...@apache.org on 2022/07/01 10:19:13 UTC
[incubator-shenyu-client-dotnet] branch main updated: refactor: optimize http register (#24)
This is an automated email from the ASF dual-hosted git repository.
gaohan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-shenyu-client-dotnet.git
The following commit(s) were added to refs/heads/main by this push:
new 023b9bd refactor: optimize http register (#24)
023b9bd is described below
commit 023b9bd0be6d15bc350023f8428416fe33570ac1
Author: Zhiqiang Li <st...@qq.com>
AuthorDate: Fri Jul 1 18:19:09 2022 +0800
refactor: optimize http register (#24)
---
.../Registers/ShenyuHttpRegister.cs | 31 +++++++++++-----------
1 file changed, 16 insertions(+), 15 deletions(-)
diff --git a/client/Apache.ShenYu.Client/Registers/ShenyuHttpRegister.cs b/client/Apache.ShenYu.Client/Registers/ShenyuHttpRegister.cs
index 71786ec..db8e885 100644
--- a/client/Apache.ShenYu.Client/Registers/ShenyuHttpRegister.cs
+++ b/client/Apache.ShenYu.Client/Registers/ShenyuHttpRegister.cs
@@ -77,41 +77,35 @@ namespace Apache.ShenYu.Client.Registers
/// <summary>
/// Get access token
- ///
/// </summary>
/// <returns></returns>
private async Task SetAccessTokens()
{
- List<Task> tasks = new List<Task>();
- foreach (var server in this.ServerList)
- {
- tasks.Add(this.SetAccessToken(server));
- }
+ List<Task> tasks = this.ServerList.Select(this.SetAccessToken).ToList();
await Task.WhenAll(tasks);
- _logger.LogInformation("request access token successfully!");
+ this._logger.LogInformation("request access token successfully!");
}
private async Task SetAccessToken(string server)
{
var builder = new UriBuilder(server)
{
- Path = Constants.LoginPath,
- Query = $"userName={this._userName}&password={this._password}"
+ Path = Constants.LoginPath, Query = $"userName={this._userName}&password={this._password}"
};
var resp = await this._client.GetStringAsync(builder.ToString());
var jObject = JObject.Parse(resp);
- var token = jObject["data"]?["token"].ToString();
+ var token = jObject.SelectToken("$.data.token")?.ToString();
this.AccessTokens.Add(server, token);
}
private async Task DoRegister<T>(T t, string path, string type)
{
+ var content = JsonConvert.SerializeObject(t);
foreach (var server in this.ServerList)
{
- string accessToken;
- if (!this.AccessTokens.TryGetValue(server, out accessToken))
+ if (!this.AccessTokens.TryGetValue(server, out var accessToken))
{
await this.SetAccessToken(server);
if (!this.AccessTokens.TryGetValue(server, out accessToken))
@@ -122,7 +116,7 @@ namespace Apache.ShenYu.Client.Registers
var requestMessage = new HttpRequestMessage(HttpMethod.Post, new Uri($"{server}{path}"));
requestMessage.Headers.Add(Constants.XAccessToken, accessToken);
- var content = JsonConvert.SerializeObject(t);
+
requestMessage.Content = new StringContent(
content,
Encoding.UTF8, "application/json");
@@ -134,9 +128,16 @@ namespace Apache.ShenYu.Client.Registers
}
else
{
- this._logger.LogWarning("failed to register type: {}, content: {}", type, content, resp);
+ var respContent = string.Empty;
+ if (resp.Content != null)
+ {
+ respContent = await resp.Content.ReadAsStringAsync();
+ }
+
+ this._logger.LogWarning("failed to register type: {}, content: {}, response: {}", type, content,
+ respContent);
}
}
}
}
-}
\ No newline at end of file
+}