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
+}