mirror of
https://github.com/MirrorNetworking/Mirror.git
synced 2024-11-18 02:50:32 +00:00
fix: Edgegap Plugin 'InvalidOperationException: This instance has already started one or more requests.' when trying to Connect->Disconnect->Reconnect
This commit is contained in:
parent
ec548a6921
commit
68d768b871
@ -250,16 +250,29 @@ string selectedApiTokenValue
|
||||
{
|
||||
SetToolUIState(ToolState.Connecting);
|
||||
|
||||
_httpClient.BaseAddress = new Uri(selectedApiEnvironment.GetApiUrl());
|
||||
|
||||
// MIRROR CHANGE ///////////////////////////////////////////////////
|
||||
// the old code throws an exception when trying to connect again after disconnecting:
|
||||
// "InvalidOperationException: This instance has already started one or more requests. Properties can only be modified before sending the first request."
|
||||
// _httpClient.BaseAddress = new Uri(selectedApiEnvironment.GetApiUrl());
|
||||
// string path = $"/v1/app/{selectedAppName}/version/{selectedAppVersionName}";
|
||||
// _httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
|
||||
// _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("token", selectedApiTokenValue);
|
||||
// HttpResponseMessage response = await _httpClient.GetAsync(path);
|
||||
//
|
||||
// solution: https://stackoverflow.com/questions/51478525/httpclient-this-instance-has-already-started-one-or-more-requests-properties-ca
|
||||
// "Rather than setting DefaultRequestHeaders, set the headers on each HttpRequestMessage you are sending."
|
||||
|
||||
// Create the request message
|
||||
string baseUrl = selectedApiEnvironment.GetApiUrl();
|
||||
string path = $"/v1/app/{selectedAppName}/version/{selectedAppVersionName}";
|
||||
|
||||
// Headers
|
||||
_httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
|
||||
_httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("token", selectedApiTokenValue);
|
||||
|
||||
// Make HTTP request
|
||||
HttpResponseMessage response = await _httpClient.GetAsync(path);
|
||||
Uri fullUrl = new Uri(new Uri(baseUrl), path);
|
||||
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, fullUrl);
|
||||
request.Headers.Accept.Clear();
|
||||
request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
|
||||
request.Headers.Authorization = new AuthenticationHeaderValue("token", selectedApiTokenValue);
|
||||
HttpResponseMessage response = await _httpClient.SendAsync(request);
|
||||
// END MIRROR CHANGE ///////////////////////////////////////////////
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user