hacked together load balancing reroutes in fileconfig (#211)

* hacked together load balancing reroutes in fileconfig

* some renaming and refactoring

* more renames

* hacked away the old config json

* test for issue 213

* renamed key

* dont share ports

* oops

* updated docs

* mvoed docs around

* port being used
This commit is contained in:
Tom Pallister
2018-01-31 20:34:55 +00:00
committed by GitHub
parent f572d1b0ca
commit 3ac9b3bd87
440 changed files with 29740 additions and 28464 deletions

View File

@ -1,40 +1,40 @@
using System;
using CacheManager.Core;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Ocelot.DependencyInjection;
using Ocelot.Middleware;
using ConfigurationBuilder = Microsoft.Extensions.Configuration.ConfigurationBuilder;
namespace Ocelot.ManualTest
{
public class ManualTestStartup
{
public void ConfigureServices(IServiceCollection services)
{
Action<ConfigurationBuilderCachePart> settings = (x) =>
{
x.WithDictionaryHandle();
};
services.AddAuthentication()
.AddJwtBearer("TestKey", x =>
{
x.Authority = "test";
x.Audience = "test";
});
services.AddOcelot()
.AddCacheManager(settings)
.AddAdministration("/administration", "secret");
}
public void Configure(IApplicationBuilder app)
{
app.UseOcelot().Wait();
}
}
}
using System;
using CacheManager.Core;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Ocelot.DependencyInjection;
using Ocelot.Middleware;
using ConfigurationBuilder = Microsoft.Extensions.Configuration.ConfigurationBuilder;
namespace Ocelot.ManualTest
{
public class ManualTestStartup
{
public void ConfigureServices(IServiceCollection services)
{
Action<ConfigurationBuilderCachePart> settings = (x) =>
{
x.WithDictionaryHandle();
};
services.AddAuthentication()
.AddJwtBearer("TestKey", x =>
{
x.Authority = "test";
x.Audience = "test";
});
services.AddOcelot()
.AddCacheManager(settings)
.AddAdministration("/administration", "secret");
}
public void Configure(IApplicationBuilder app)
{
app.UseOcelot().Wait();
}
}
}

View File

@ -1,43 +1,43 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<VersionPrefix>0.0.0-dev</VersionPrefix>
<TargetFramework>netcoreapp2.0</TargetFramework>
<RuntimeFrameworkVersion>2.0.0</RuntimeFrameworkVersion>
<PreserveCompilationContext>true</PreserveCompilationContext>
<AssemblyName>Ocelot.ManualTest</AssemblyName>
<OutputType>Exe</OutputType>
<PackageId>Ocelot.ManualTest</PackageId>
<RuntimeIdentifiers>osx.10.11-x64;osx.10.12-x64;win7-x64;win10-x64</RuntimeIdentifiers>
</PropertyGroup>
<ItemGroup>
<None Update="Views;Areas\**\Views">
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</None>
</ItemGroup>
<ItemGroup>
<None Update="configuration.json;appsettings.json;idsrv3test.pfx">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Ocelot\Ocelot.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.0.0" />
<PackageReference Include="Consul" Version="0.7.2.3" />
<PackageReference Include="Polly" Version="5.3.1" />
</ItemGroup>
</Project>
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<VersionPrefix>0.0.0-dev</VersionPrefix>
<TargetFramework>netcoreapp2.0</TargetFramework>
<RuntimeFrameworkVersion>2.0.0</RuntimeFrameworkVersion>
<PreserveCompilationContext>true</PreserveCompilationContext>
<AssemblyName>Ocelot.ManualTest</AssemblyName>
<OutputType>Exe</OutputType>
<PackageId>Ocelot.ManualTest</PackageId>
<RuntimeIdentifiers>osx.10.11-x64;osx.10.12-x64;win7-x64;win10-x64</RuntimeIdentifiers>
</PropertyGroup>
<ItemGroup>
<None Update="Views;Areas\**\Views">
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</None>
</ItemGroup>
<ItemGroup>
<None Update="configuration.json;appsettings.json;idsrv3test.pfx">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Ocelot\Ocelot.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.0.0" />
<PackageReference Include="Consul" Version="0.7.2.3" />
<PackageReference Include="Polly" Version="5.3.1" />
</ItemGroup>
</Project>

View File

@ -1,371 +1,371 @@
{
"id": "4dbde9fe-89f5-be35-bb9f-d3b438e16375",
"name": "Ocelot",
"description": "",
"order": [
"a1c95935-ed18-d5dc-bcb8-a3db8ba1934f",
"ea0ed57a-2cb9-8acc-47dd-006b8db2f1b2",
"c4494401-3985-a5bf-71fb-6e4171384ac6",
"09af8dda-a9cb-20d2-5ee3-0a3023773a1a",
"e8825dc3-4137-99a7-0000-ef5786610dc3",
"fddfc4fa-5114-69e3-4744-203ed71a526b",
"c45d30d7-d9c4-fa05-8110-d6e769bb6ff9",
"4684c2fa-f38c-c193-5f55-bf563a1978c6",
"37bfa9f1-fe29-6a68-e558-66d125d2c96f",
"5f308240-79e3-cf74-7a6b-fe462f0d54f1",
"178f16da-c61b-c881-1c33-9d64a56851a4"
],
"folders": [],
"folders_order": [],
"timestamp": 0,
"owner": "212120",
"public": false,
"requests": [
{
"folder": null,
"id": "09af8dda-a9cb-20d2-5ee3-0a3023773a1a",
"name": "GET http://localhost:5000/comments?postId=1",
"dataMode": "params",
"data": null,
"rawModeData": null,
"descriptionFormat": "html",
"description": "",
"headers": "",
"method": "GET",
"pathVariables": {},
"url": "http://localhost:5000/comments?postId=1",
"preRequestScript": null,
"tests": null,
"currentHelper": "normal",
"helperAttributes": "{}",
"queryParams": [],
"headerData": [],
"pathVariableData": [],
"responses": [],
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375"
},
{
"id": "178f16da-c61b-c881-1c33-9d64a56851a4",
"headers": "Authorization: Bearer {{AccessToken}}\n",
"headerData": [
{
"key": "Authorization",
"value": "Bearer {{AccessToken}}",
"enabled": true,
"description": ""
}
],
"url": "http://localhost:5000/administration/configuration",
"folder": null,
"queryParams": [],
"preRequestScript": null,
"pathVariables": {},
"pathVariableData": [],
"method": "GET",
"data": null,
"dataMode": "params",
"tests": null,
"currentHelper": "normal",
"helperAttributes": "{}",
"time": 1508849878025,
"name": "GET http://localhost:5000/admin/configuration",
"description": "",
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375",
"responses": [],
"isFromCollection": true,
"collectionRequestId": "178f16da-c61b-c881-1c33-9d64a56851a4",
"rawModeData": null,
"descriptionFormat": null
},
{
"id": "37bfa9f1-fe29-6a68-e558-66d125d2c96f",
"headers": "",
"headerData": [],
"url": "http://localhost:5000/administration/connect/token",
"folder": null,
"queryParams": [],
"preRequestScript": null,
"pathVariables": {},
"pathVariableData": [],
"method": "POST",
"data": [
{
"key": "client_id",
"value": "admin",
"type": "text",
"enabled": true
},
{
"key": "client_secret",
"value": "secret",
"type": "text",
"enabled": true
},
{
"key": "scope",
"value": "admin",
"type": "text",
"enabled": true
},
{
"key": "username",
"value": "admin",
"type": "text",
"enabled": true
},
{
"key": "password",
"value": "secret",
"type": "text",
"enabled": true
},
{
"key": "grant_type",
"value": "password",
"type": "text",
"enabled": true
}
],
"dataMode": "params",
"tests": "var jsonData = JSON.parse(responseBody);\npostman.setGlobalVariable(\"AccessToken\", jsonData.access_token);\npostman.setGlobalVariable(\"RefreshToken\", jsonData.refresh_token);",
"currentHelper": "normal",
"helperAttributes": "{}",
"time": 1506359585080,
"name": "POST http://localhost:5000/admin/connect/token copy",
"description": "",
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375",
"responses": [],
"isFromCollection": true,
"collectionRequestId": "37bfa9f1-fe29-6a68-e558-66d125d2c96f",
"rawModeData": null,
"descriptionFormat": null
},
{
"folder": null,
"id": "4684c2fa-f38c-c193-5f55-bf563a1978c6",
"name": "DELETE http://localhost:5000/posts/1",
"dataMode": "params",
"data": null,
"rawModeData": null,
"descriptionFormat": "html",
"description": "",
"headers": "",
"method": "DELETE",
"pathVariables": {},
"url": "http://localhost:5000/posts/1",
"preRequestScript": null,
"tests": null,
"currentHelper": "normal",
"helperAttributes": "{}",
"queryParams": [],
"headerData": [],
"pathVariableData": [],
"responses": [],
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375"
},
{
"id": "5f308240-79e3-cf74-7a6b-fe462f0d54f1",
"headers": "Authorization: Bearer {{AccessToken}}\n",
"headerData": [
{
"key": "Authorization",
"value": "Bearer {{AccessToken}}",
"description": "",
"enabled": true
}
],
"url": "http://localhost:5000/administration/.well-known/openid-configuration",
"folder": null,
"queryParams": [],
"preRequestScript": null,
"pathVariables": {},
"pathVariableData": [],
"method": "GET",
"data": null,
"dataMode": "params",
"tests": null,
"currentHelper": "normal",
"helperAttributes": {},
"time": 1508849923518,
"name": "GET http://localhost:5000/admin/.well-known/openid-configuration",
"description": "",
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375",
"responses": []
},
{
"folder": null,
"id": "a1c95935-ed18-d5dc-bcb8-a3db8ba1934f",
"name": "GET http://localhost:5000/posts",
"dataMode": "params",
"data": [
{
"key": "client_id",
"value": "admin",
"type": "text",
"enabled": true
},
{
"key": "client_secret",
"value": "secret",
"type": "text",
"enabled": true
},
{
"key": "scope",
"value": "admin",
"type": "text",
"enabled": true
},
{
"key": "username",
"value": "admin",
"type": "text",
"enabled": true
},
{
"key": "password",
"value": "admin",
"type": "text",
"enabled": true
},
{
"key": "grant_type",
"value": "password",
"type": "text",
"enabled": true
}
],
"rawModeData": null,
"descriptionFormat": "html",
"description": "",
"headers": "",
"method": "POST",
"pathVariables": {},
"url": "http://localhost:5000/admin/configuration",
"preRequestScript": null,
"tests": null,
"currentHelper": "normal",
"helperAttributes": "{}",
"queryParams": [],
"headerData": [],
"pathVariableData": [],
"responses": [],
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375"
},
{
"folder": null,
"id": "c4494401-3985-a5bf-71fb-6e4171384ac6",
"name": "GET http://localhost:5000/posts/1/comments",
"dataMode": "params",
"data": null,
"rawModeData": null,
"descriptionFormat": "html",
"description": "",
"headers": "",
"method": "GET",
"pathVariables": {},
"url": "http://localhost:5000/posts/1/comments",
"preRequestScript": null,
"tests": null,
"currentHelper": "normal",
"helperAttributes": "{}",
"queryParams": [],
"headerData": [],
"pathVariableData": [],
"responses": [],
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375"
},
{
"folder": null,
"id": "c45d30d7-d9c4-fa05-8110-d6e769bb6ff9",
"name": "PATCH http://localhost:5000/posts/1",
"dataMode": "raw",
"data": [],
"rawModeData": "{\n \"title\": \"gfdgsgsdgsdfgsdfgdfg\",\n}",
"descriptionFormat": "html",
"description": "",
"headers": "",
"method": "PATCH",
"pathVariables": {},
"url": "http://localhost:5000/posts/1",
"preRequestScript": null,
"tests": null,
"currentHelper": "normal",
"helperAttributes": "{}",
"queryParams": [],
"headerData": [],
"pathVariableData": [],
"responses": [],
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375"
},
{
"folder": null,
"id": "e8825dc3-4137-99a7-0000-ef5786610dc3",
"name": "POST http://localhost:5000/posts/1",
"dataMode": "raw",
"data": [],
"rawModeData": "{\n \"userId\": 1,\n \"title\": \"test\",\n \"body\": \"test\"\n}",
"descriptionFormat": "html",
"description": "",
"headers": "",
"method": "POST",
"pathVariables": {},
"url": "http://localhost:5000/posts",
"preRequestScript": null,
"tests": null,
"currentHelper": "normal",
"helperAttributes": "{}",
"queryParams": [],
"headerData": [],
"pathVariableData": [],
"responses": [],
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375"
},
{
"folder": null,
"id": "ea0ed57a-2cb9-8acc-47dd-006b8db2f1b2",
"name": "GET http://localhost:5000/posts/1",
"dataMode": "params",
"data": null,
"rawModeData": null,
"descriptionFormat": "html",
"description": "",
"headers": "",
"method": "GET",
"pathVariables": {},
"url": "http://localhost:5000/posts/1",
"preRequestScript": null,
"tests": null,
"currentHelper": "normal",
"helperAttributes": "{}",
"queryParams": [],
"headerData": [],
"pathVariableData": [],
"responses": [],
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375"
},
{
"folder": null,
"id": "fddfc4fa-5114-69e3-4744-203ed71a526b",
"name": "PUT http://localhost:5000/posts/1",
"dataMode": "raw",
"data": [],
"rawModeData": "{\n \"userId\": 1,\n \"title\": \"test\",\n \"body\": \"test\"\n}",
"descriptionFormat": "html",
"description": "",
"headers": "",
"method": "PUT",
"pathVariables": {},
"url": "http://localhost:5000/posts/1",
"preRequestScript": null,
"tests": null,
"currentHelper": "normal",
"helperAttributes": "{}",
"queryParams": [],
"headerData": [],
"pathVariableData": [],
"responses": [],
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375"
}
]
{
"id": "4dbde9fe-89f5-be35-bb9f-d3b438e16375",
"name": "Ocelot",
"description": "",
"order": [
"a1c95935-ed18-d5dc-bcb8-a3db8ba1934f",
"ea0ed57a-2cb9-8acc-47dd-006b8db2f1b2",
"c4494401-3985-a5bf-71fb-6e4171384ac6",
"09af8dda-a9cb-20d2-5ee3-0a3023773a1a",
"e8825dc3-4137-99a7-0000-ef5786610dc3",
"fddfc4fa-5114-69e3-4744-203ed71a526b",
"c45d30d7-d9c4-fa05-8110-d6e769bb6ff9",
"4684c2fa-f38c-c193-5f55-bf563a1978c6",
"37bfa9f1-fe29-6a68-e558-66d125d2c96f",
"5f308240-79e3-cf74-7a6b-fe462f0d54f1",
"178f16da-c61b-c881-1c33-9d64a56851a4"
],
"folders": [],
"folders_order": [],
"timestamp": 0,
"owner": "212120",
"public": false,
"requests": [
{
"folder": null,
"id": "09af8dda-a9cb-20d2-5ee3-0a3023773a1a",
"name": "GET http://localhost:5000/comments?postId=1",
"dataMode": "params",
"data": null,
"rawModeData": null,
"descriptionFormat": "html",
"description": "",
"headers": "",
"method": "GET",
"pathVariables": {},
"url": "http://localhost:5000/comments?postId=1",
"preRequestScript": null,
"tests": null,
"currentHelper": "normal",
"helperAttributes": "{}",
"queryParams": [],
"headerData": [],
"pathVariableData": [],
"responses": [],
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375"
},
{
"id": "178f16da-c61b-c881-1c33-9d64a56851a4",
"headers": "Authorization: Bearer {{AccessToken}}\n",
"headerData": [
{
"key": "Authorization",
"value": "Bearer {{AccessToken}}",
"enabled": true,
"description": ""
}
],
"url": "http://localhost:5000/administration/configuration",
"folder": null,
"queryParams": [],
"preRequestScript": null,
"pathVariables": {},
"pathVariableData": [],
"method": "GET",
"data": null,
"dataMode": "params",
"tests": null,
"currentHelper": "normal",
"helperAttributes": "{}",
"time": 1508849878025,
"name": "GET http://localhost:5000/admin/configuration",
"description": "",
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375",
"responses": [],
"isFromCollection": true,
"collectionRequestId": "178f16da-c61b-c881-1c33-9d64a56851a4",
"rawModeData": null,
"descriptionFormat": null
},
{
"id": "37bfa9f1-fe29-6a68-e558-66d125d2c96f",
"headers": "",
"headerData": [],
"url": "http://localhost:5000/administration/connect/token",
"folder": null,
"queryParams": [],
"preRequestScript": null,
"pathVariables": {},
"pathVariableData": [],
"method": "POST",
"data": [
{
"key": "client_id",
"value": "admin",
"type": "text",
"enabled": true
},
{
"key": "client_secret",
"value": "secret",
"type": "text",
"enabled": true
},
{
"key": "scope",
"value": "admin",
"type": "text",
"enabled": true
},
{
"key": "username",
"value": "admin",
"type": "text",
"enabled": true
},
{
"key": "password",
"value": "secret",
"type": "text",
"enabled": true
},
{
"key": "grant_type",
"value": "password",
"type": "text",
"enabled": true
}
],
"dataMode": "params",
"tests": "var jsonData = JSON.parse(responseBody);\npostman.setGlobalVariable(\"AccessToken\", jsonData.access_token);\npostman.setGlobalVariable(\"RefreshToken\", jsonData.refresh_token);",
"currentHelper": "normal",
"helperAttributes": "{}",
"time": 1506359585080,
"name": "POST http://localhost:5000/admin/connect/token copy",
"description": "",
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375",
"responses": [],
"isFromCollection": true,
"collectionRequestId": "37bfa9f1-fe29-6a68-e558-66d125d2c96f",
"rawModeData": null,
"descriptionFormat": null
},
{
"folder": null,
"id": "4684c2fa-f38c-c193-5f55-bf563a1978c6",
"name": "DELETE http://localhost:5000/posts/1",
"dataMode": "params",
"data": null,
"rawModeData": null,
"descriptionFormat": "html",
"description": "",
"headers": "",
"method": "DELETE",
"pathVariables": {},
"url": "http://localhost:5000/posts/1",
"preRequestScript": null,
"tests": null,
"currentHelper": "normal",
"helperAttributes": "{}",
"queryParams": [],
"headerData": [],
"pathVariableData": [],
"responses": [],
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375"
},
{
"id": "5f308240-79e3-cf74-7a6b-fe462f0d54f1",
"headers": "Authorization: Bearer {{AccessToken}}\n",
"headerData": [
{
"key": "Authorization",
"value": "Bearer {{AccessToken}}",
"description": "",
"enabled": true
}
],
"url": "http://localhost:5000/administration/.well-known/openid-configuration",
"folder": null,
"queryParams": [],
"preRequestScript": null,
"pathVariables": {},
"pathVariableData": [],
"method": "GET",
"data": null,
"dataMode": "params",
"tests": null,
"currentHelper": "normal",
"helperAttributes": {},
"time": 1508849923518,
"name": "GET http://localhost:5000/admin/.well-known/openid-configuration",
"description": "",
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375",
"responses": []
},
{
"folder": null,
"id": "a1c95935-ed18-d5dc-bcb8-a3db8ba1934f",
"name": "GET http://localhost:5000/posts",
"dataMode": "params",
"data": [
{
"key": "client_id",
"value": "admin",
"type": "text",
"enabled": true
},
{
"key": "client_secret",
"value": "secret",
"type": "text",
"enabled": true
},
{
"key": "scope",
"value": "admin",
"type": "text",
"enabled": true
},
{
"key": "username",
"value": "admin",
"type": "text",
"enabled": true
},
{
"key": "password",
"value": "admin",
"type": "text",
"enabled": true
},
{
"key": "grant_type",
"value": "password",
"type": "text",
"enabled": true
}
],
"rawModeData": null,
"descriptionFormat": "html",
"description": "",
"headers": "",
"method": "POST",
"pathVariables": {},
"url": "http://localhost:5000/admin/configuration",
"preRequestScript": null,
"tests": null,
"currentHelper": "normal",
"helperAttributes": "{}",
"queryParams": [],
"headerData": [],
"pathVariableData": [],
"responses": [],
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375"
},
{
"folder": null,
"id": "c4494401-3985-a5bf-71fb-6e4171384ac6",
"name": "GET http://localhost:5000/posts/1/comments",
"dataMode": "params",
"data": null,
"rawModeData": null,
"descriptionFormat": "html",
"description": "",
"headers": "",
"method": "GET",
"pathVariables": {},
"url": "http://localhost:5000/posts/1/comments",
"preRequestScript": null,
"tests": null,
"currentHelper": "normal",
"helperAttributes": "{}",
"queryParams": [],
"headerData": [],
"pathVariableData": [],
"responses": [],
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375"
},
{
"folder": null,
"id": "c45d30d7-d9c4-fa05-8110-d6e769bb6ff9",
"name": "PATCH http://localhost:5000/posts/1",
"dataMode": "raw",
"data": [],
"rawModeData": "{\n \"title\": \"gfdgsgsdgsdfgsdfgdfg\",\n}",
"descriptionFormat": "html",
"description": "",
"headers": "",
"method": "PATCH",
"pathVariables": {},
"url": "http://localhost:5000/posts/1",
"preRequestScript": null,
"tests": null,
"currentHelper": "normal",
"helperAttributes": "{}",
"queryParams": [],
"headerData": [],
"pathVariableData": [],
"responses": [],
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375"
},
{
"folder": null,
"id": "e8825dc3-4137-99a7-0000-ef5786610dc3",
"name": "POST http://localhost:5000/posts/1",
"dataMode": "raw",
"data": [],
"rawModeData": "{\n \"userId\": 1,\n \"title\": \"test\",\n \"body\": \"test\"\n}",
"descriptionFormat": "html",
"description": "",
"headers": "",
"method": "POST",
"pathVariables": {},
"url": "http://localhost:5000/posts",
"preRequestScript": null,
"tests": null,
"currentHelper": "normal",
"helperAttributes": "{}",
"queryParams": [],
"headerData": [],
"pathVariableData": [],
"responses": [],
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375"
},
{
"folder": null,
"id": "ea0ed57a-2cb9-8acc-47dd-006b8db2f1b2",
"name": "GET http://localhost:5000/posts/1",
"dataMode": "params",
"data": null,
"rawModeData": null,
"descriptionFormat": "html",
"description": "",
"headers": "",
"method": "GET",
"pathVariables": {},
"url": "http://localhost:5000/posts/1",
"preRequestScript": null,
"tests": null,
"currentHelper": "normal",
"helperAttributes": "{}",
"queryParams": [],
"headerData": [],
"pathVariableData": [],
"responses": [],
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375"
},
{
"folder": null,
"id": "fddfc4fa-5114-69e3-4744-203ed71a526b",
"name": "PUT http://localhost:5000/posts/1",
"dataMode": "raw",
"data": [],
"rawModeData": "{\n \"userId\": 1,\n \"title\": \"test\",\n \"body\": \"test\"\n}",
"descriptionFormat": "html",
"description": "",
"headers": "",
"method": "PUT",
"pathVariables": {},
"url": "http://localhost:5000/posts/1",
"preRequestScript": null,
"tests": null,
"currentHelper": "normal",
"helperAttributes": "{}",
"queryParams": [],
"headerData": [],
"pathVariableData": [],
"responses": [],
"collectionId": "4dbde9fe-89f5-be35-bb9f-d3b438e16375"
}
]
}

View File

@ -1,39 +1,39 @@
using System.IO;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Configuration;
namespace Ocelot.ManualTest
{
public class Program
{
public static void Main(string[] args)
{
IWebHostBuilder builder = new WebHostBuilder();
builder.ConfigureServices(s => {
s.AddSingleton(builder);
});
builder.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.ConfigureAppConfiguration((hostingContext, config) =>
{
config.SetBasePath(hostingContext.HostingEnvironment.ContentRootPath);
var env = hostingContext.HostingEnvironment;
config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true);
config.AddJsonFile("configuration.json");
config.AddEnvironmentVariables();
})
.ConfigureLogging((hostingContext, logging) =>
{
logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
logging.AddConsole();
})
.UseIISIntegration()
.UseStartup<ManualTestStartup>();
var host = builder.Build();
host.Run();
}
}
}
using System.IO;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Configuration;
namespace Ocelot.ManualTest
{
public class Program
{
public static void Main(string[] args)
{
IWebHostBuilder builder = new WebHostBuilder();
builder.ConfigureServices(s => {
s.AddSingleton(builder);
});
builder.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.ConfigureAppConfiguration((hostingContext, config) =>
{
config.SetBasePath(hostingContext.HostingEnvironment.ContentRootPath);
var env = hostingContext.HostingEnvironment;
config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true);
config.AddJsonFile("configuration.json");
config.AddEnvironmentVariables();
})
.ConfigureLogging((hostingContext, logging) =>
{
logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
logging.AddConsole();
})
.UseIISIntegration()
.UseStartup<ManualTestStartup>();
var host = builder.Build();
host.Run();
}
}
}

View File

@ -1,26 +1,26 @@
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:24620/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"Ocelot.ManualTest": {
"commandName": "Project",
"launchUrl": "http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:24620/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"Ocelot.ManualTest": {
"commandName": "Project",
"launchUrl": "http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

View File

@ -1,10 +1,10 @@
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Error",
"Microsoft": "Error"
}
}
}
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Error",
"Microsoft": "Error"
}
}
}

View File

@ -1,311 +1,311 @@
{
"ReRoutes": [
{
"DownstreamPathTemplate": "/",
"DownstreamScheme": "http",
"DownstreamHost": "localhost",
"DownstreamPort": 52876,
"UpstreamPathTemplate": "/identityserverexample",
"UpstreamHttpMethod": [ "Get" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"AuthenticationOptions": {
"AuthenticationProviderKey": "TestKey",
"AllowedScopes": [
"openid",
"offline_access"
]
},
"AddHeadersToRequest": {
"CustomerId": "Claims[CustomerId] > value",
"LocationId": "Claims[LocationId] > value",
"UserType": "Claims[sub] > value[0] > |",
"UserId": "Claims[sub] > value[1] > |"
},
"AddClaimsToRequest": {
"CustomerId": "Claims[CustomerId] > value",
"LocationId": "Claims[LocationId] > value",
"UserType": "Claims[sub] > value[0] > |",
"UserId": "Claims[sub] > value[1] > |"
},
"AddQueriesToRequest": {
"CustomerId": "Claims[CustomerId] > value",
"LocationId": "Claims[LocationId] > value",
"UserType": "Claims[sub] > value[0] > |",
"UserId": "Claims[sub] > value[1] > |"
},
"RouteClaimsRequirement": {
"UserType": "registered"
},
"RequestIdKey": "OcRequestId"
},
{
"DownstreamPathTemplate": "/posts",
"DownstreamScheme": "https",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 443,
"UpstreamPathTemplate": "/posts",
"UpstreamHttpMethod": [ "Get" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
}
},
{
"DownstreamPathTemplate": "/posts/{postId}",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/posts/{postId}",
"UpstreamHttpMethod": [ "Get" ],
"RequestIdKey": "ReRouteRequestId",
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
}
},
{
"DownstreamPathTemplate": "/posts/{postId}/comments",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/posts/{postId}/comments",
"UpstreamHttpMethod": [ "Get" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
}
},
{
"DownstreamPathTemplate": "/comments",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/comments",
"UpstreamHttpMethod": [ "Get" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
}
},
{
"DownstreamPathTemplate": "/posts",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/posts",
"UpstreamHttpMethod": [ "Post" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
}
},
{
"DownstreamPathTemplate": "/posts/{postId}",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/posts/{postId}",
"UpstreamHttpMethod": [ "Put" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
}
},
{
"DownstreamPathTemplate": "/posts/{postId}",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/posts/{postId}",
"UpstreamHttpMethod": [ "Patch" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
}
},
{
"DownstreamPathTemplate": "/posts/{postId}",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/posts/{postId}",
"UpstreamHttpMethod": [ "Delete" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
}
},
{
"DownstreamPathTemplate": "/api/products",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/products",
"UpstreamHttpMethod": [ "Get" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/api/products/{productId}",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/products/{productId}",
"UpstreamHttpMethod": [ "Get" ],
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/api/products",
"DownstreamScheme": "http",
"DownstreamHost": "products20161126090340.azurewebsites.net",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/products",
"UpstreamHttpMethod": [ "Post" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
}
},
{
"DownstreamPathTemplate": "/api/products/{productId}",
"DownstreamScheme": "http",
"DownstreamHost": "products20161126090340.azurewebsites.net",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/products/{productId}",
"UpstreamHttpMethod": [ "Put" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/api/products/{productId}",
"DownstreamScheme": "http",
"DownstreamHost": "products20161126090340.azurewebsites.net",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/products/{productId}",
"UpstreamHttpMethod": [ "Delete" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/api/customers",
"DownstreamScheme": "http",
"DownstreamHost": "customers20161126090811.azurewebsites.net",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/customers",
"UpstreamHttpMethod": [ "Get" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/api/customers/{customerId}",
"DownstreamScheme": "http",
"DownstreamHost": "customers20161126090811.azurewebsites.net",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/customers/{customerId}",
"UpstreamHttpMethod": [ "Get" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/api/customers",
"DownstreamScheme": "http",
"DownstreamHost": "customers20161126090811.azurewebsites.net",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/customers",
"UpstreamHttpMethod": [ "Post" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/api/customers/{customerId}",
"DownstreamScheme": "http",
"DownstreamHost": "customers20161126090811.azurewebsites.net",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/customers/{customerId}",
"UpstreamHttpMethod": [ "Put" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/api/customers/{customerId}",
"DownstreamScheme": "http",
"DownstreamHost": "customers20161126090811.azurewebsites.net",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/customers/{customerId}",
"UpstreamHttpMethod": [ "Delete" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/posts",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/posts/",
"UpstreamHttpMethod": [ "Get" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/",
"DownstreamScheme": "http",
"DownstreamHost": "www.bbc.co.uk",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/bbc/",
"UpstreamHttpMethod": [ "Get" ]
}
],
"GlobalConfiguration": {
"RequestIdKey": "OcRequestId"
}
{
"ReRoutes": [
{
"DownstreamPathTemplate": "/",
"DownstreamScheme": "http",
"DownstreamHost": "localhost",
"DownstreamPort": 52876,
"UpstreamPathTemplate": "/identityserverexample",
"UpstreamHttpMethod": [ "Get" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"AuthenticationOptions": {
"AuthenticationProviderKey": "TestKey",
"AllowedScopes": [
"openid",
"offline_access"
]
},
"AddHeadersToRequest": {
"CustomerId": "Claims[CustomerId] > value",
"LocationId": "Claims[LocationId] > value",
"UserType": "Claims[sub] > value[0] > |",
"UserId": "Claims[sub] > value[1] > |"
},
"AddClaimsToRequest": {
"CustomerId": "Claims[CustomerId] > value",
"LocationId": "Claims[LocationId] > value",
"UserType": "Claims[sub] > value[0] > |",
"UserId": "Claims[sub] > value[1] > |"
},
"AddQueriesToRequest": {
"CustomerId": "Claims[CustomerId] > value",
"LocationId": "Claims[LocationId] > value",
"UserType": "Claims[sub] > value[0] > |",
"UserId": "Claims[sub] > value[1] > |"
},
"RouteClaimsRequirement": {
"UserType": "registered"
},
"RequestIdKey": "OcRequestId"
},
{
"DownstreamPathTemplate": "/posts",
"DownstreamScheme": "https",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 443,
"UpstreamPathTemplate": "/posts",
"UpstreamHttpMethod": [ "Get" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
}
},
{
"DownstreamPathTemplate": "/posts/{postId}",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/posts/{postId}",
"UpstreamHttpMethod": [ "Get" ],
"RequestIdKey": "ReRouteRequestId",
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
}
},
{
"DownstreamPathTemplate": "/posts/{postId}/comments",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/posts/{postId}/comments",
"UpstreamHttpMethod": [ "Get" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
}
},
{
"DownstreamPathTemplate": "/comments",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/comments",
"UpstreamHttpMethod": [ "Get" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
}
},
{
"DownstreamPathTemplate": "/posts",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/posts",
"UpstreamHttpMethod": [ "Post" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
}
},
{
"DownstreamPathTemplate": "/posts/{postId}",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/posts/{postId}",
"UpstreamHttpMethod": [ "Put" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
}
},
{
"DownstreamPathTemplate": "/posts/{postId}",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/posts/{postId}",
"UpstreamHttpMethod": [ "Patch" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
}
},
{
"DownstreamPathTemplate": "/posts/{postId}",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/posts/{postId}",
"UpstreamHttpMethod": [ "Delete" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
}
},
{
"DownstreamPathTemplate": "/api/products",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/products",
"UpstreamHttpMethod": [ "Get" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/api/products/{productId}",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/products/{productId}",
"UpstreamHttpMethod": [ "Get" ],
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/api/products",
"DownstreamScheme": "http",
"DownstreamHost": "products20161126090340.azurewebsites.net",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/products",
"UpstreamHttpMethod": [ "Post" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
}
},
{
"DownstreamPathTemplate": "/api/products/{productId}",
"DownstreamScheme": "http",
"DownstreamHost": "products20161126090340.azurewebsites.net",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/products/{productId}",
"UpstreamHttpMethod": [ "Put" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/api/products/{productId}",
"DownstreamScheme": "http",
"DownstreamHost": "products20161126090340.azurewebsites.net",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/products/{productId}",
"UpstreamHttpMethod": [ "Delete" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/api/customers",
"DownstreamScheme": "http",
"DownstreamHost": "customers20161126090811.azurewebsites.net",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/customers",
"UpstreamHttpMethod": [ "Get" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/api/customers/{customerId}",
"DownstreamScheme": "http",
"DownstreamHost": "customers20161126090811.azurewebsites.net",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/customers/{customerId}",
"UpstreamHttpMethod": [ "Get" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/api/customers",
"DownstreamScheme": "http",
"DownstreamHost": "customers20161126090811.azurewebsites.net",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/customers",
"UpstreamHttpMethod": [ "Post" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/api/customers/{customerId}",
"DownstreamScheme": "http",
"DownstreamHost": "customers20161126090811.azurewebsites.net",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/customers/{customerId}",
"UpstreamHttpMethod": [ "Put" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/api/customers/{customerId}",
"DownstreamScheme": "http",
"DownstreamHost": "customers20161126090811.azurewebsites.net",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/customers/{customerId}",
"UpstreamHttpMethod": [ "Delete" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/posts",
"DownstreamScheme": "http",
"DownstreamHost": "jsonplaceholder.typicode.com",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/posts/",
"UpstreamHttpMethod": [ "Get" ],
"QoSOptions": {
"ExceptionsAllowedBeforeBreaking": 3,
"DurationOfBreak": 10,
"TimeoutValue": 5000
},
"FileCacheOptions": { "TtlSeconds": 15 }
},
{
"DownstreamPathTemplate": "/",
"DownstreamScheme": "http",
"DownstreamHost": "www.bbc.co.uk",
"DownstreamPort": 80,
"UpstreamPathTemplate": "/bbc/",
"UpstreamHttpMethod": [ "Get" ]
}
],
"GlobalConfiguration": {
"RequestIdKey": "OcRequestId"
}
}

View File

@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--
Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
-->
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
</system.webServer>
</configuration>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--
Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
-->
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
</system.webServer>
</configuration>