mirror of
				https://github.com/nsnail/Ocelot.git
				synced 2025-11-04 19:50:49 +08:00 
			
		
		
		
	Release/13.2.0 (#834)
* Fix formatting in getting started page (#752)
* updated release docs (#745)
* Update README.md (#756)
Fixed typo "Ocleot"
* Fixed typo there => their (#763)
* Some Typo fixes (#765)
* Typo algorythm => algorithm (#764)
* Typo querystring => query string (#766)
* Typo usual => usually (#767)
* Typos (#768)
* kubernetes provider (#772)
* feat: Kubernetes ServiceDiscoveryProvider
* 编写k8s测试例子
* feat:fix kube config
* feat: remove port
* feat : complete the k8s test
* feat :  add kubeserviceDiscovery test
* feat : add kube provider unittest
* feat :add kubetnetes docs
how to use ocelot with kubetnetes docs
* keep the configuration as simple as possible, no qos, no cache
* fix: use http
* add PollingKubeServiceDiscovery
* feat : refactor logger
* feat : add  pollkube docs
* feat:Remove unnecessary code
* feat : code-block json
* fix issue #661 for Advanced aggregations (#704)
* Add Advanced Aggregation Feature
* fix overwrite error
* distinct data for better performance
* remove constructor parameter
* fix tests issue
* fix tests
* fix tests issue
* Add UnitTest and AcceptanceTest
* fix responseKeys typo
* Update SimpleJsonResponseAggregator.cs
* change port
* Fix code example for SSL Errors (#780)
DangerousAcceptAnyServerCertificateValidator has to be set to "true" to disable certification validation, not "false".
* Changed wording for ease of reading (#776)
Just some wording changes for clarification.
* Ignore response content if null (fix #785) (#786)
* fix bug #791 (#795)
* Update loadbalancer.rst (#796)
* UriBuilder - remove leading question mark #747 (#794)
* Update qualityofservice.rst (#801)
Tiny typo
* K8s package (#804)
* feat: Kubernetes ServiceDiscoveryProvider
* 编写k8s测试例子
* feat:fix kube config
* feat: remove port
* feat : complete the k8s test
* feat :  add kubeserviceDiscovery test
* feat : add kube provider unittest
* feat :add kubetnetes docs
how to use ocelot with kubetnetes docs
* keep the configuration as simple as possible, no qos, no cache
* fix: use http
* add PollingKubeServiceDiscovery
* feat : refactor logger
* feat : add  pollkube docs
* feat:Remove unnecessary code
* feat : code-block json
* feat: publish package Ocelot.Provider.Kubernetes
* Okta integration (#807)
Okta integration
* update cliamsParser (#798)
* update cliamsParser
* update using
* IOcelotBuilder opens the IMvcCoreBuilder property for easy customization (#790)
* IOcelotBuilder opens the IMvcCoreBuilder property for easy customization
* Adjustment code
* nuget package (#809)
* feat: Kubernetes ServiceDiscoveryProvider
* 编写k8s测试例子
* feat:fix kube config
* feat: remove port
* feat : complete the k8s test
* feat :  add kubeserviceDiscovery test
* feat : add kube provider unittest
* feat :add kubetnetes docs
how to use ocelot with kubetnetes docs
* keep the configuration as simple as possible, no qos, no cache
* fix: use http
* add PollingKubeServiceDiscovery
* feat : refactor logger
* feat : add  pollkube docs
* feat:Remove unnecessary code
* feat : code-block json
* feat: publish package Ocelot.Provider.Kubernetes
* feat : nuget package
* fix: Namesapce Spelling wrong
* fix:Namesapce Spelling Wrong
* Fix: errors when using rate limiting (#811)
* Fix: errors when using rate limiting
Add: QuotaExceededError class for requesting too much
Add: QuotaExceededError error code
Add: Add an error when limit is reached
Reflact: Extract GetResponseMessage method for getting default or configured response message for requ
* Fix: modify check_we_have_considered_all_errors_in_these_tests for adding a new OcelotErrorCode
* added missing COPY csproj files (#821)
* Add note on In-Process hosting (#816)
When using ASP.NET Core 2.2 with In-Process hosting in IIS it's important to use .UseIIS() instead of .UseIISIntegration().
* Fix bug: (#810)
If the registered Consul node is unexpectedly down and not restarted immediately, other services should continue to find the registered service.
* Fixed Dockerfile (missing Kubernetes)
* Revert "Fix bug: (#810)" (#823)
This reverts commit 19c80afb05.
* remove duplicate `IHttpRequester` register (#819)
* remove duplicate `IHttpRequester` register
* reserve the first
* fix HttpRequesterMiddleware does not call next bug (#830)
call next so that we can do something with the response, such as add some custom header etc...
* Removed Packing to fix issues, will be sorted out after create a nuget package on Nuget.Org (#831)
* Allows access to unpass node (#825)
* Fix bug:
If the registered Consul node is unexpectedly down and not restarted immediately, other services should continue to find the registered service.
* fix bug:
If the registered Consul node is unexpectedly down and not restarted immediately, other services should continue to find the registered service.
* Updated FluentValidations Nuget Package (#833)
			
			
This commit is contained in:
		@@ -0,0 +1,45 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
using Microsoft.AspNetCore.Mvc;
 | 
			
		||||
 | 
			
		||||
namespace DownstreamService.Controllers
 | 
			
		||||
{
 | 
			
		||||
    [Route("api/[controller]")]
 | 
			
		||||
    [ApiController]
 | 
			
		||||
    public class ValuesController : ControllerBase
 | 
			
		||||
    {
 | 
			
		||||
        // GET api/values
 | 
			
		||||
        [HttpGet]
 | 
			
		||||
        public ActionResult<IEnumerable<string>> Get()
 | 
			
		||||
        {
 | 
			
		||||
            return new string[] { "value1", "value2" };
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // GET api/values/5
 | 
			
		||||
        [HttpGet("{id}")]
 | 
			
		||||
        public ActionResult<string> Get(int id)
 | 
			
		||||
        {
 | 
			
		||||
            return "value";
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // POST api/values
 | 
			
		||||
        [HttpPost]
 | 
			
		||||
        public void Post([FromBody] string value)
 | 
			
		||||
        {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // PUT api/values/5
 | 
			
		||||
        [HttpPut("{id}")]
 | 
			
		||||
        public void Put(int id, [FromBody] string value)
 | 
			
		||||
        {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // DELETE api/values/5
 | 
			
		||||
        [HttpDelete("{id}")]
 | 
			
		||||
        public void Delete(int id)
 | 
			
		||||
        {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										19
									
								
								samples/OelotKube/DownstreamService/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								samples/OelotKube/DownstreamService/Dockerfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
 | 
			
		||||
WORKDIR /app
 | 
			
		||||
EXPOSE 80
 | 
			
		||||
 | 
			
		||||
FROM microsoft/dotnet:2.1-sdk AS build
 | 
			
		||||
WORKDIR /src
 | 
			
		||||
COPY ["DownstreamService/DownstreamService.csproj", "DownstreamService/"]
 | 
			
		||||
RUN dotnet restore "DownstreamService/DownstreamService.csproj"
 | 
			
		||||
COPY . .
 | 
			
		||||
WORKDIR "/src/DownstreamService"
 | 
			
		||||
RUN dotnet build "DownstreamService.csproj" -c Release -o /app
 | 
			
		||||
 | 
			
		||||
FROM build AS publish
 | 
			
		||||
RUN dotnet publish "DownstreamService.csproj" -c Release -o /app
 | 
			
		||||
 | 
			
		||||
FROM base AS final
 | 
			
		||||
WORKDIR /app
 | 
			
		||||
COPY --from=publish /app .
 | 
			
		||||
ENTRYPOINT ["dotnet", "DownstreamService.dll"]
 | 
			
		||||
							
								
								
									
										15
									
								
								samples/OelotKube/DownstreamService/Dockerfile.develop
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								samples/OelotKube/DownstreamService/Dockerfile.develop
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
FROM microsoft/dotnet:2.1-sdk
 | 
			
		||||
ARG BUILD_CONFIGURATION=Debug
 | 
			
		||||
ENV ASPNETCORE_ENVIRONMENT=Development
 | 
			
		||||
ENV DOTNET_USE_POLLING_FILE_WATCHER=true
 | 
			
		||||
EXPOSE 80
 | 
			
		||||
 | 
			
		||||
WORKDIR /src
 | 
			
		||||
COPY ["DownstreamService/DownstreamService.csproj", "DownstreamService/"]
 | 
			
		||||
 | 
			
		||||
RUN dotnet restore "DownstreamService/DownstreamService.csproj"
 | 
			
		||||
COPY . .
 | 
			
		||||
WORKDIR "/src/DownstreamService"
 | 
			
		||||
RUN dotnet build --no-restore "DownstreamService.csproj" -c $BUILD_CONFIGURATION
 | 
			
		||||
 | 
			
		||||
ENTRYPOINT ["dotnet", "run", "--no-build", "--no-launch-profile", "-c", "$BUILD_CONFIGURATION", "--"]
 | 
			
		||||
							
								
								
									
										15
									
								
								samples/OelotKube/DownstreamService/DownstreamService.csproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								samples/OelotKube/DownstreamService/DownstreamService.csproj
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
<Project Sdk="Microsoft.NET.Sdk.Web">
 | 
			
		||||
 | 
			
		||||
  <PropertyGroup>
 | 
			
		||||
    <TargetFramework>netcoreapp2.1</TargetFramework>
 | 
			
		||||
    <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
 | 
			
		||||
    <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <PackageReference Include="Microsoft.AspNetCore.App" />
 | 
			
		||||
    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.1.2" PrivateAssets="All" />
 | 
			
		||||
    <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.1.1" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
 | 
			
		||||
</Project>
 | 
			
		||||
							
								
								
									
										24
									
								
								samples/OelotKube/DownstreamService/Program.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								samples/OelotKube/DownstreamService/Program.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.IO;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
using Microsoft.AspNetCore;
 | 
			
		||||
using Microsoft.AspNetCore.Hosting;
 | 
			
		||||
using Microsoft.Extensions.Configuration;
 | 
			
		||||
using Microsoft.Extensions.Logging;
 | 
			
		||||
 | 
			
		||||
namespace DownstreamService
 | 
			
		||||
{
 | 
			
		||||
    public class Program
 | 
			
		||||
    {
 | 
			
		||||
        public static void Main(string[] args)
 | 
			
		||||
        {
 | 
			
		||||
            CreateWebHostBuilder(args).Build().Run();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
 | 
			
		||||
            WebHost.CreateDefaultBuilder(args)
 | 
			
		||||
                .UseStartup<Startup>();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,35 @@
 | 
			
		||||
{
 | 
			
		||||
  "iisSettings": {
 | 
			
		||||
    "windowsAuthentication": false,
 | 
			
		||||
    "anonymousAuthentication": true,
 | 
			
		||||
    "iisExpress": {
 | 
			
		||||
      "applicationUrl": "http://localhost:56411",
 | 
			
		||||
      "sslPort": 0
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "$schema": "http://json.schemastore.org/launchsettings.json",
 | 
			
		||||
  "profiles": {
 | 
			
		||||
    "IIS Express": {
 | 
			
		||||
      "commandName": "IISExpress",
 | 
			
		||||
      "launchBrowser": true,
 | 
			
		||||
      "launchUrl": "api/values",
 | 
			
		||||
      "environmentVariables": {
 | 
			
		||||
        "ASPNETCORE_ENVIRONMENT": "Development"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "DownstreamService": {
 | 
			
		||||
      "commandName": "Project",
 | 
			
		||||
      "launchBrowser": true,
 | 
			
		||||
      "launchUrl": "api/values",
 | 
			
		||||
      "environmentVariables": {
 | 
			
		||||
        "ASPNETCORE_ENVIRONMENT": "Development"
 | 
			
		||||
      },
 | 
			
		||||
      "applicationUrl": "http://localhost:5000"
 | 
			
		||||
    },
 | 
			
		||||
    "Docker": {
 | 
			
		||||
      "commandName": "Docker",
 | 
			
		||||
      "launchBrowser": true,
 | 
			
		||||
      "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/api/values"
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										41
									
								
								samples/OelotKube/DownstreamService/Startup.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								samples/OelotKube/DownstreamService/Startup.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,41 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Threading.Tasks;
 | 
			
		||||
using Microsoft.AspNetCore.Builder;
 | 
			
		||||
using Microsoft.AspNetCore.Hosting;
 | 
			
		||||
using Microsoft.AspNetCore.Mvc;
 | 
			
		||||
using Microsoft.Extensions.Configuration;
 | 
			
		||||
using Microsoft.Extensions.DependencyInjection;
 | 
			
		||||
using Microsoft.Extensions.Logging;
 | 
			
		||||
using Microsoft.Extensions.Options;
 | 
			
		||||
 | 
			
		||||
namespace DownstreamService
 | 
			
		||||
{
 | 
			
		||||
    public class Startup
 | 
			
		||||
    {
 | 
			
		||||
        public Startup(IConfiguration configuration)
 | 
			
		||||
        {
 | 
			
		||||
            Configuration = configuration;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public IConfiguration Configuration { get; }
 | 
			
		||||
 | 
			
		||||
        // This method gets called by the runtime. Use this method to add services to the container.
 | 
			
		||||
        public void ConfigureServices(IServiceCollection services)
 | 
			
		||||
        {
 | 
			
		||||
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
 | 
			
		||||
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
 | 
			
		||||
        {
 | 
			
		||||
            if (env.IsDevelopment())
 | 
			
		||||
            {
 | 
			
		||||
                app.UseDeveloperExceptionPage();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            app.UseMvc();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,9 @@
 | 
			
		||||
{
 | 
			
		||||
  "Logging": {
 | 
			
		||||
    "LogLevel": {
 | 
			
		||||
      "Default": "Debug",
 | 
			
		||||
      "System": "Information",
 | 
			
		||||
      "Microsoft": "Information"
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										8
									
								
								samples/OelotKube/DownstreamService/appsettings.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								samples/OelotKube/DownstreamService/appsettings.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
{
 | 
			
		||||
  "Logging": {
 | 
			
		||||
    "LogLevel": {
 | 
			
		||||
      "Default": "Warning"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "AllowedHosts": "*"
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user