You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Improve scalability when using gxhttpclient (#972)
* Refactored gxhttpclient implementation to utilize a singleton instance for reusing the connection pool of httpclient instances. Avoided using CookieContainer of handlers, as they are shared across the pooled connections. Instead, managed sending and receiving cookies as headers.
* Change public method by internal.
* Honor property Maximum pool size per route.
* Define const for DEFAULT_HTTPCLIENT_MAX_PER_ROUTE.
* Rename SINGLETON_HTTPCLIENT to HTTPCLIENT_SINGLETON to maintain consistency with other keys, such as HTTPCLIENT_MAX_PER_ROUTE
* Add trace for HttpClient.
Ignore cookies in container that are invalid for the current url.
* Avoid InvalidOperationException in HttpRequest.GetValue when there is no HasFormContentType.
Use async operations when possible for httpclient
connectionProperties was not caching empty values
* Prepare for async calls to httpclient.
Enable Microsoft.VisualStudio.Threading.Analyzers
* Fix build error.
* Revert changes related to async and keep only the httpclient singleton changes in this branch.
This reverts commit c855419.
Revert "Prepare for async calls to httpclient."
This reverts commit cd6c42e.
Revert "Avoid InvalidOperationException in HttpRequest.GetValue when there is no HasFormContentType."
This reverts commit 4f77cb3.
* Consider SslOptions when creating the key for SocketsHttpHandler, as the ServicePointManager.ServerCertificateValidationCallback may change after the first handler has been created. Therefore, subsequent calls cannot reuse the same handler.
* Add ToStringAsync and ExecuteAsync methods to HttpClient.
* ExecuteAsync must be public as it is used from generated code.
* Remove unnecessary call to ReceiveData (sync method) in ToStringAsync
0 commit comments