mirror of
				https://github.com/nsnail/Ocelot.git
				synced 2025-11-04 15:10:50 +08:00 
			
		
		
		
	+semver: major merged netstandard2.0 upgrade and updated all packages. Also had to change identity server test due to scope deduping and put a few awaits in.
This commit is contained in:
		@@ -2,14 +2,14 @@ Getting Started
 | 
				
			|||||||
===============
 | 
					===============
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Ocelot is designed to work with .NET Core only and is currently 
 | 
					Ocelot is designed to work with .NET Core only and is currently 
 | 
				
			||||||
built to netcoreapp2.0 `this <https://docs.microsoft.com/en-us/dotnet/articles/standard/library>`_ documentation may prove helpful when working out if Ocelot would be suitable for you.
 | 
					built to netstandard2.0 `this <https://docs.microsoft.com/en-us/dotnet/articles/standard/library>`_ documentation may prove helpful when working out if Ocelot would be suitable for you.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.NET Core 2.0
 | 
					.NET Core 2.0
 | 
				
			||||||
^^^^^^^^^^^^^
 | 
					^^^^^^^^^^^^^
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**Install NuGet package**
 | 
					**Install NuGet package**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Install Ocelot and it's dependencies using nuget. You will need to create a netcoreapp2.0 project and bring the package into it. Then follow the Startup below and :doc:`../features/configuration` sections
 | 
					Install Ocelot and it's dependencies using nuget. You will need to create a netstandard2.0 project and bring the package into it. Then follow the Startup below and :doc:`../features/configuration` sections
 | 
				
			||||||
to get up and running.
 | 
					to get up and running.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   ``Install-Package Ocelot``
 | 
					   ``Install-Package Ocelot``
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,21 +30,21 @@
 | 
				
			|||||||
      <NoWarn>NU1701</NoWarn>
 | 
					      <NoWarn>NU1701</NoWarn>
 | 
				
			||||||
    </PackageReference>
 | 
					    </PackageReference>
 | 
				
			||||||
    <PackageReference Include="FluentValidation" Version="7.5.2" />
 | 
					    <PackageReference Include="FluentValidation" Version="7.5.2" />
 | 
				
			||||||
    <PackageReference Include="IdentityServer4.AccessTokenValidation" Version="2.4.0" />
 | 
					    <PackageReference Include="IdentityServer4.AccessTokenValidation" Version="2.6.0" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.AspNetCore" Version="2.0.2" />
 | 
					    <PackageReference Include="Microsoft.AspNetCore" Version="2.0.3" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.3" />
 | 
					    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.4" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.AspNetCore.MiddlewareAnalysis" Version="2.0.2" />
 | 
					    <PackageReference Include="Microsoft.AspNetCore.MiddlewareAnalysis" Version="2.0.3" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Data.SQLite" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Data.SQLite" Version="2.0.1" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.DiagnosticAdapter" Version="2.0.1">
 | 
					    <PackageReference Include="Microsoft.Extensions.DiagnosticAdapter" Version="2.0.1">
 | 
				
			||||||
      <NoWarn>NU1701</NoWarn>
 | 
					      <NoWarn>NU1701</NoWarn>
 | 
				
			||||||
    </PackageReference>
 | 
					    </PackageReference>
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Logging" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Logging" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="StyleCop.Analyzers" Version="1.0.2">
 | 
					    <PackageReference Include="StyleCop.Analyzers" Version="1.0.2">
 | 
				
			||||||
      <PrivateAssets>all</PrivateAssets>
 | 
					      <PrivateAssets>all</PrivateAssets>
 | 
				
			||||||
    </PackageReference>
 | 
					    </PackageReference>
 | 
				
			||||||
@@ -53,9 +53,9 @@
 | 
				
			|||||||
    <PackageReference Include="CacheManager.Microsoft.Extensions.Configuration" Version="1.1.2" />
 | 
					    <PackageReference Include="CacheManager.Microsoft.Extensions.Configuration" Version="1.1.2" />
 | 
				
			||||||
    <PackageReference Include="CacheManager.Microsoft.Extensions.Logging" Version="1.1.2" />
 | 
					    <PackageReference Include="CacheManager.Microsoft.Extensions.Logging" Version="1.1.2" />
 | 
				
			||||||
    <PackageReference Include="Consul" Version="0.7.2.4" />
 | 
					    <PackageReference Include="Consul" Version="0.7.2.4" />
 | 
				
			||||||
    <PackageReference Include="Polly" Version="5.8.0" />
 | 
					    <PackageReference Include="Polly" Version="6.0.1" />
 | 
				
			||||||
    <PackageReference Include="Pivotal.Discovery.Client" Version="1.1.0" />
 | 
					    <PackageReference Include="Pivotal.Discovery.Client" Version="1.1.0" />
 | 
				
			||||||
    <PackageReference Include="IdentityServer4" Version="2.1.3" />
 | 
					    <PackageReference Include="IdentityServer4" Version="2.2.0" />
 | 
				
			||||||
    <PackageReference Include="Rafty" Version="0.4.3" />
 | 
					    <PackageReference Include="Rafty" Version="0.4.3" />
 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
</Project>
 | 
					</Project>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,27 +34,25 @@ namespace Ocelot.Raft
 | 
				
			|||||||
            _baseSchemeUrlAndPort = finder.Find();
 | 
					            _baseSchemeUrlAndPort = finder.Find();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public string Id {get; private set;}
 | 
					        public string Id { get; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public async Task<RequestVoteResponse> Request(RequestVote requestVote)
 | 
					        public async Task<RequestVoteResponse> Request(RequestVote requestVote)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if(_token == null)
 | 
					            if(_token == null)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                SetToken();
 | 
					                await SetToken();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var json = JsonConvert.SerializeObject(requestVote, _jsonSerializerSettings);
 | 
					            var json = JsonConvert.SerializeObject(requestVote, _jsonSerializerSettings);
 | 
				
			||||||
            var content = new StringContent(json);
 | 
					            var content = new StringContent(json);
 | 
				
			||||||
            content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
 | 
					            content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
 | 
				
			||||||
            var response = _httpClient.PostAsync($"{_hostAndPort}/administration/raft/requestvote", content).GetAwaiter().GetResult();
 | 
					            var response = await _httpClient.PostAsync($"{_hostAndPort}/administration/raft/requestvote", content);
 | 
				
			||||||
            if(response.IsSuccessStatusCode)
 | 
					            if(response.IsSuccessStatusCode)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                return JsonConvert.DeserializeObject<RequestVoteResponse>(await response.Content.ReadAsStringAsync(), _jsonSerializerSettings);
 | 
					                return JsonConvert.DeserializeObject<RequestVoteResponse>(await response.Content.ReadAsStringAsync(), _jsonSerializerSettings);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else
 | 
					
 | 
				
			||||||
            {
 | 
					            return new RequestVoteResponse(false, requestVote.Term);
 | 
				
			||||||
                return new RequestVoteResponse(false, requestVote.Term);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public async Task<AppendEntriesResponse> Request(AppendEntries appendEntries)
 | 
					        public async Task<AppendEntriesResponse> Request(AppendEntries appendEntries)
 | 
				
			||||||
@@ -63,21 +61,19 @@ namespace Ocelot.Raft
 | 
				
			|||||||
            {
 | 
					            {
 | 
				
			||||||
                if(_token == null)
 | 
					                if(_token == null)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    SetToken();
 | 
					                    await SetToken();
 | 
				
			||||||
                }                
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                var json = JsonConvert.SerializeObject(appendEntries, _jsonSerializerSettings);
 | 
					                var json = JsonConvert.SerializeObject(appendEntries, _jsonSerializerSettings);
 | 
				
			||||||
                var content = new StringContent(json);
 | 
					                var content = new StringContent(json);
 | 
				
			||||||
                content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
 | 
					                content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
 | 
				
			||||||
                var response = _httpClient.PostAsync($"{_hostAndPort}/administration/raft/appendEntries", content).GetAwaiter().GetResult();
 | 
					                var response = await _httpClient.PostAsync($"{_hostAndPort}/administration/raft/appendEntries", content);
 | 
				
			||||||
                if(response.IsSuccessStatusCode)
 | 
					                if(response.IsSuccessStatusCode)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    return JsonConvert.DeserializeObject<AppendEntriesResponse>(await response.Content.ReadAsStringAsync(), _jsonSerializerSettings);
 | 
					                    return JsonConvert.DeserializeObject<AppendEntriesResponse>(await response.Content.ReadAsStringAsync(), _jsonSerializerSettings);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                else
 | 
					
 | 
				
			||||||
                {
 | 
					                return new AppendEntriesResponse(appendEntries.Term, false);
 | 
				
			||||||
                    return new AppendEntriesResponse(appendEntries.Term, false);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            catch(Exception ex)
 | 
					            catch(Exception ex)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@@ -92,27 +88,25 @@ namespace Ocelot.Raft
 | 
				
			|||||||
            Console.WriteLine("SENDING REQUEST....");
 | 
					            Console.WriteLine("SENDING REQUEST....");
 | 
				
			||||||
            if(_token == null)
 | 
					            if(_token == null)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                SetToken();
 | 
					                await SetToken();
 | 
				
			||||||
            }   
 | 
					            }   
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var json = JsonConvert.SerializeObject(command, _jsonSerializerSettings);
 | 
					            var json = JsonConvert.SerializeObject(command, _jsonSerializerSettings);
 | 
				
			||||||
            var content = new StringContent(json);
 | 
					            var content = new StringContent(json);
 | 
				
			||||||
            content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
 | 
					            content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
 | 
				
			||||||
            var response = _httpClient.PostAsync($"{_hostAndPort}/administration/raft/command", content).GetAwaiter().GetResult();
 | 
					            var response = await _httpClient.PostAsync($"{_hostAndPort}/administration/raft/command", content);
 | 
				
			||||||
            if(response.IsSuccessStatusCode)
 | 
					            if(response.IsSuccessStatusCode)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                Console.WriteLine("REQUEST OK....");
 | 
					                Console.WriteLine("REQUEST OK....");
 | 
				
			||||||
                var okResponse = JsonConvert.DeserializeObject<OkResponse<ICommand>>(response.Content.ReadAsStringAsync().GetAwaiter().GetResult(), _jsonSerializerSettings);
 | 
					                var okResponse = JsonConvert.DeserializeObject<OkResponse<ICommand>>(await response.Content.ReadAsStringAsync(), _jsonSerializerSettings);
 | 
				
			||||||
                return new OkResponse<T>((T)okResponse.Command);
 | 
					                return new OkResponse<T>((T)okResponse.Command);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else 
 | 
					
 | 
				
			||||||
            {
 | 
					            Console.WriteLine("REQUEST NOT OK....");
 | 
				
			||||||
                Console.WriteLine("REQUEST NOT OK....");
 | 
					            return new ErrorResponse<T>(await response.Content.ReadAsStringAsync(), command);
 | 
				
			||||||
                return new ErrorResponse<T>(await response.Content.ReadAsStringAsync(), command);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private void SetToken()
 | 
					        private async Task SetToken()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            var tokenUrl = $"{_baseSchemeUrlAndPort}{_config.AdministrationPath}/connect/token";
 | 
					            var tokenUrl = $"{_baseSchemeUrlAndPort}{_config.AdministrationPath}/connect/token";
 | 
				
			||||||
            var formData = new List<KeyValuePair<string, string>>
 | 
					            var formData = new List<KeyValuePair<string, string>>
 | 
				
			||||||
@@ -123,8 +117,8 @@ namespace Ocelot.Raft
 | 
				
			|||||||
                new KeyValuePair<string, string>("grant_type", "client_credentials")
 | 
					                new KeyValuePair<string, string>("grant_type", "client_credentials")
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
            var content = new FormUrlEncodedContent(formData);
 | 
					            var content = new FormUrlEncodedContent(formData);
 | 
				
			||||||
            var response = _httpClient.PostAsync(tokenUrl, content).GetAwaiter().GetResult();
 | 
					            var response = await _httpClient.PostAsync(tokenUrl, content);
 | 
				
			||||||
            var responseContent = response.Content.ReadAsStringAsync().GetAwaiter().GetResult();
 | 
					            var responseContent = await response.Content.ReadAsStringAsync();
 | 
				
			||||||
            response.EnsureSuccessStatusCode();
 | 
					            response.EnsureSuccessStatusCode();
 | 
				
			||||||
            _token = JsonConvert.DeserializeObject<BearerToken>(responseContent);
 | 
					            _token = JsonConvert.DeserializeObject<BearerToken>(responseContent);
 | 
				
			||||||
            _httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue(_token.TokenType, _token.AccessToken);
 | 
					            _httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue(_token.TokenType, _token.AccessToken);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,9 +20,9 @@ namespace Ocelot.Raft
 | 
				
			|||||||
    public class RaftController : Controller
 | 
					    public class RaftController : Controller
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        private readonly INode _node;
 | 
					        private readonly INode _node;
 | 
				
			||||||
        private IOcelotLogger _logger;
 | 
					        private readonly IOcelotLogger _logger;
 | 
				
			||||||
        private string _baseSchemeUrlAndPort;
 | 
					        private readonly string _baseSchemeUrlAndPort;
 | 
				
			||||||
        private JsonSerializerSettings _jsonSerialiserSettings;
 | 
					        private readonly JsonSerializerSettings _jsonSerialiserSettings;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public RaftController(INode node, IOcelotLoggerFactory loggerFactory, IBaseUrlFinder finder)
 | 
					        public RaftController(INode node, IOcelotLoggerFactory loggerFactory, IBaseUrlFinder finder)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@@ -45,7 +45,7 @@ namespace Ocelot.Raft
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                _logger.LogDebug($"{_baseSchemeUrlAndPort}/appendentries called, my state is {_node.State.GetType().FullName}");
 | 
					                _logger.LogDebug($"{_baseSchemeUrlAndPort}/appendentries called, my state is {_node.State.GetType().FullName}");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                var appendEntriesResponse = _node.Handle(appendEntries);
 | 
					                var appendEntriesResponse = await _node.Handle(appendEntries);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                return new OkObjectResult(appendEntriesResponse);
 | 
					                return new OkObjectResult(appendEntriesResponse);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@@ -62,7 +62,7 @@ namespace Ocelot.Raft
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                _logger.LogDebug($"{_baseSchemeUrlAndPort}/requestvote called, my state is {_node.State.GetType().FullName}");
 | 
					                _logger.LogDebug($"{_baseSchemeUrlAndPort}/requestvote called, my state is {_node.State.GetType().FullName}");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                var requestVoteResponse = _node.Handle(requestVote);
 | 
					                var requestVoteResponse = await _node.Handle(requestVote);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                return new OkObjectResult(requestVoteResponse);
 | 
					                return new OkObjectResult(requestVoteResponse);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@@ -81,7 +81,7 @@ namespace Ocelot.Raft
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                    _logger.LogDebug($"{_baseSchemeUrlAndPort}/command called, my state is {_node.State.GetType().FullName}");
 | 
					                    _logger.LogDebug($"{_baseSchemeUrlAndPort}/command called, my state is {_node.State.GetType().FullName}");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    var commandResponse = _node.Accept(command);
 | 
					                    var commandResponse = await _node.Accept(command);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    json = JsonConvert.SerializeObject(commandResponse, _jsonSerialiserSettings);
 | 
					                    json = JsonConvert.SerializeObject(commandResponse, _jsonSerialiserSettings);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -91,7 +91,7 @@ namespace Ocelot.Raft
 | 
				
			|||||||
            catch(Exception e)
 | 
					            catch(Exception e)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                _logger.LogError($"THERE WAS A PROBLEM ON NODE {_node.State.CurrentState.Id}", e);
 | 
					                _logger.LogError($"THERE WAS A PROBLEM ON NODE {_node.State.CurrentState.Id}", e);
 | 
				
			||||||
                throw e;
 | 
					                throw;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,8 @@ using System.Collections.Generic;
 | 
				
			|||||||
using System.Threading.Tasks;
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace Ocelot.Raft
 | 
					namespace Ocelot.Raft
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    //todo - use async await
 | 
				
			||||||
    [ExcludeFromCoverage]
 | 
					    [ExcludeFromCoverage]
 | 
				
			||||||
    public class SqlLiteLog : ILog
 | 
					    public class SqlLiteLog : ILog
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -316,8 +316,6 @@ namespace Ocelot.AcceptanceTests
 | 
				
			|||||||
                                {
 | 
					                                {
 | 
				
			||||||
                                    new Scope("api2"),
 | 
					                                    new Scope("api2"),
 | 
				
			||||||
                                    new Scope("api2.readOnly"),
 | 
					                                    new Scope("api2.readOnly"),
 | 
				
			||||||
                                    new Scope("openid"),
 | 
					 | 
				
			||||||
                                    new Scope("offline_access")
 | 
					 | 
				
			||||||
                                },
 | 
					                                },
 | 
				
			||||||
                                ApiSecrets = new List<Secret>()
 | 
					                                ApiSecrets = new List<Secret>()
 | 
				
			||||||
                                {
 | 
					                                {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,21 +34,21 @@
 | 
				
			|||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <PackageReference Include="CacheManager.Serialization.Json" Version="1.1.2" />
 | 
					    <PackageReference Include="CacheManager.Serialization.Json" Version="1.1.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6" />
 | 
					    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.8" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.AspNetCore.TestHost" Version="2.0.2" />
 | 
					    <PackageReference Include="Microsoft.AspNetCore.TestHost" Version="2.0.3" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
 | 
					    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
 | 
				
			||||||
    <PackageReference Include="StyleCop.Analyzers" Version="1.0.2">
 | 
					    <PackageReference Include="StyleCop.Analyzers" Version="1.0.2">
 | 
				
			||||||
      <PrivateAssets>all</PrivateAssets>
 | 
					      <PrivateAssets>all</PrivateAssets>
 | 
				
			||||||
    </PackageReference>
 | 
					    </PackageReference>
 | 
				
			||||||
    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
 | 
					    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Logging" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Logging" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.DotNet.InternalAbstractions" Version="1.0.500-preview2-1-003177" />
 | 
					    <PackageReference Include="Microsoft.DotNet.InternalAbstractions" Version="1.0.500-preview2-1-003177" />
 | 
				
			||||||
    <PackageReference Include="Shouldly" Version="3.0.0" />
 | 
					    <PackageReference Include="Shouldly" Version="3.0.0" />
 | 
				
			||||||
    <PackageReference Include="TestStack.BDDfy" Version="4.3.2" />
 | 
					    <PackageReference Include="TestStack.BDDfy" Version="4.3.2" />
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -664,7 +664,8 @@ namespace Ocelot.AcceptanceTests
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            using (var httpClient = new HttpClient())
 | 
					            using (var httpClient = new HttpClient())
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                var response = httpClient.GetAsync($"{url}/.well-known/openid-configuration").Result;
 | 
					                var response = httpClient.GetAsync($"{url}/.well-known/openid-configuration").GetAwaiter().GetResult();
 | 
				
			||||||
 | 
					                var content = response.Content.ReadAsStringAsync().GetAwaiter();
 | 
				
			||||||
                response.EnsureSuccessStatusCode();
 | 
					                response.EnsureSuccessStatusCode();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,7 +19,7 @@
 | 
				
			|||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <PackageReference Include="BenchmarkDotNet" Version="0.10.13" />
 | 
					    <PackageReference Include="BenchmarkDotNet" Version="0.10.14" />
 | 
				
			||||||
    <PackageReference Include="StyleCop.Analyzers" Version="1.0.2">
 | 
					    <PackageReference Include="StyleCop.Analyzers" Version="1.0.2">
 | 
				
			||||||
      <PrivateAssets>all</PrivateAssets>
 | 
					      <PrivateAssets>all</PrivateAssets>
 | 
				
			||||||
    </PackageReference>
 | 
					    </PackageReference>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,22 +25,22 @@
 | 
				
			|||||||
    <ProjectReference Include="..\..\src\Ocelot\Ocelot.csproj" />
 | 
					    <ProjectReference Include="..\..\src\Ocelot\Ocelot.csproj" />
 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6" />
 | 
					    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.8" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
 | 
					    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
 | 
				
			||||||
    <PackageReference Include="StyleCop.Analyzers" Version="1.0.2">
 | 
					    <PackageReference Include="StyleCop.Analyzers" Version="1.0.2">
 | 
				
			||||||
      <PrivateAssets>all</PrivateAssets>
 | 
					      <PrivateAssets>all</PrivateAssets>
 | 
				
			||||||
    </PackageReference>
 | 
					    </PackageReference>
 | 
				
			||||||
    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
 | 
					    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Logging" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Logging" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.DotNet.InternalAbstractions" Version="1.0.500-preview2-1-003177" />
 | 
					    <PackageReference Include="Microsoft.DotNet.InternalAbstractions" Version="1.0.500-preview2-1-003177" />
 | 
				
			||||||
    <PackageReference Include="xunit" Version="2.3.1" />
 | 
					    <PackageReference Include="xunit" Version="2.3.1" />
 | 
				
			||||||
    <PackageReference Include="IdentityServer4" Version="2.1.3" />
 | 
					    <PackageReference Include="IdentityServer4" Version="2.2.0" />
 | 
				
			||||||
    <PackageReference Include="Shouldly" Version="3.0.0" />
 | 
					    <PackageReference Include="Shouldly" Version="3.0.0" />
 | 
				
			||||||
    <PackageReference Include="TestStack.BDDfy" Version="4.3.2" />
 | 
					    <PackageReference Include="TestStack.BDDfy" Version="4.3.2" />
 | 
				
			||||||
    <PackageReference Include="Consul" Version="0.7.2.4" />
 | 
					    <PackageReference Include="Consul" Version="0.7.2.4" />
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -263,7 +263,7 @@ namespace Ocelot.IntegrationTests
 | 
				
			|||||||
                catch(Exception e)
 | 
					                catch(Exception e)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    //_output.WriteLine($"{e.Message}, {e.StackTrace}");
 | 
					                    //_output.WriteLine($"{e.Message}, {e.StackTrace}");
 | 
				
			||||||
                    //Console.WriteLine(e);
 | 
					                    Console.WriteLine(e);
 | 
				
			||||||
                    return false;
 | 
					                    return false;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,16 +24,16 @@
 | 
				
			|||||||
    <ProjectReference Include="..\..\src\Ocelot\Ocelot.csproj" />
 | 
					    <ProjectReference Include="..\..\src\Ocelot\Ocelot.csproj" />
 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6" />
 | 
					    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.8" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Logging" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Logging" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Consul" Version="0.7.2.4" />
 | 
					    <PackageReference Include="Consul" Version="0.7.2.4" />
 | 
				
			||||||
    <PackageReference Include="Polly" Version="5.8.0" />
 | 
					    <PackageReference Include="Polly" Version="6.0.1" />
 | 
				
			||||||
    <PackageReference Include="StyleCop.Analyzers" Version="1.0.2">
 | 
					    <PackageReference Include="StyleCop.Analyzers" Version="1.0.2">
 | 
				
			||||||
      <PrivateAssets>all</PrivateAssets>
 | 
					      <PrivateAssets>all</PrivateAssets>
 | 
				
			||||||
    </PackageReference>
 | 
					    </PackageReference>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,21 +29,21 @@
 | 
				
			|||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6" />
 | 
					    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.8" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.AspNetCore.TestHost" Version="2.0.2" />
 | 
					    <PackageReference Include="Microsoft.AspNetCore.TestHost" Version="2.0.3" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
 | 
					    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.7.0" />
 | 
				
			||||||
    <PackageReference Include="StyleCop.Analyzers" Version="1.0.2">
 | 
					    <PackageReference Include="StyleCop.Analyzers" Version="1.0.2">
 | 
				
			||||||
      <PrivateAssets>all</PrivateAssets>
 | 
					      <PrivateAssets>all</PrivateAssets>
 | 
				
			||||||
    </PackageReference>
 | 
					    </PackageReference>
 | 
				
			||||||
    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
 | 
					    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.DotNet.InternalAbstractions" Version="1.0.500-preview2-1-003177" />
 | 
					    <PackageReference Include="Microsoft.DotNet.InternalAbstractions" Version="1.0.500-preview2-1-003177" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Logging" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Logging" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.0.1" />
 | 
					    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.0.2" />
 | 
				
			||||||
    <PackageReference Include="Moq" Version="4.8.2" />
 | 
					    <PackageReference Include="Moq" Version="4.8.2" />
 | 
				
			||||||
    <PackageReference Include="Shouldly" Version="3.0.0" />
 | 
					    <PackageReference Include="Shouldly" Version="3.0.0" />
 | 
				
			||||||
    <PackageReference Include="TestStack.BDDfy" Version="4.3.2" />
 | 
					    <PackageReference Include="TestStack.BDDfy" Version="4.3.2" />
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user