├── .dockerignore ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── dependabot.yml └── workflows │ ├── dotnet.yml │ └── nugets.yml ├── .gitignore ├── Demo └── SwizlyPeasy.Demo.API │ ├── Authorization │ ├── AppAuthorizationHandler.cs │ └── BobRequirement.cs │ ├── Controllers │ └── DemoController.cs │ ├── Dockerfile │ ├── Dtos │ └── WeatherForecast.cs │ ├── Extensions │ └── AuthorizationExtensions.cs │ ├── Program.cs │ ├── Properties │ └── launchSettings.json │ ├── SwizlyPeasy.Demo.API.csproj │ ├── appsettings.Development.json │ ├── appsettings.IntegrationTest.json │ ├── appsettings.IntegrationTest2.json │ ├── appsettings.IntegrationTest3.json │ └── appsettings.json ├── LICENSE ├── README.md ├── SwizlyPeasy.Common ├── Auth │ ├── ClientAuthExtensions.cs │ ├── OpenIdConnectExtensions.cs │ ├── SwizlyPeasyAuthenticationOptions.cs │ └── SwizlyPeasyClientAuthenticationHandler.cs ├── Constants.cs ├── Dtos │ ├── AuthRedirectionConfig.cs │ ├── ClaimsConfig.cs │ ├── OidcConfig.cs │ ├── ProxiesAndNetworksConfig.cs │ ├── RateLimiterPolicyConfig.cs │ ├── Rfc7807.cs │ ├── ServiceDiscoveryConfig.cs │ ├── ServiceRegistrationConfig.cs │ └── Status │ │ ├── ClusterStatusDto.cs │ │ ├── DestinationStatusDto.cs │ │ ├── HealthEndpointStatusDto.cs │ │ └── StatusDto.cs ├── Exceptions │ ├── BadRequestDomainException.cs │ ├── ConflictDomainException.cs │ ├── DomainException.cs │ ├── ForbiddenDomainException.cs │ ├── InternalDomainException.cs │ ├── NotFoundDomainException.cs │ ├── Rfc7807.cs │ ├── TooManyRequestsException.cs │ ├── UnAuthorizedDomainException.cs │ └── UnprocessableEntityDomainException.cs ├── Extensions │ ├── CodePageExtensions.cs │ ├── ExceptionsHandlingExtensions.cs │ ├── ForwardedHeaderExtensions.cs │ └── RateLimiterExtensions.cs ├── HealthChecks │ ├── HealthCheckExtensions.cs │ ├── HealthCheckResponse.cs │ └── HealthCheckResponseItem.cs ├── Middlewares │ └── ExceptionsHandlerMiddleware.cs ├── Properties │ └── launchSettings.json ├── README.md └── SwizlyPeasy.Common.csproj ├── SwizlyPeasy.Consul ├── Agents │ ├── IRetrieveAgentsService.cs │ └── RetrieveAgentsService.cs ├── ClientConfig │ └── ConsulClientConfigurationExtensions.cs ├── Health │ ├── HealthCheckService.cs │ └── IHealthCheckService.cs ├── KeyValueStore │ ├── IKeyValueService.cs │ └── KeyValueService.cs ├── README.md ├── ServiceRegistration │ ├── ClientServiceRegistrationExtensions.cs │ ├── ConsulServiceRegistrationExtensions.cs │ └── ServiceDiscoveryHostedService.cs └── SwizlyPeasy.Consul.csproj ├── SwizlyPeasy.Gateway.API ├── Dockerfile ├── NLog.config ├── Program.cs ├── Properties │ └── launchSettings.json ├── SwizlyPeasy.Gateway.API.csproj ├── appsettings.Development.json ├── appsettings.IntegrationTest.json ├── appsettings.IntegrationTest2.json ├── appsettings.json └── routes.config.json ├── SwizlyPeasy.Gateway.sln ├── SwizlyPeasy.Gateway.sln.DotSettings ├── SwizlyPeasy.Gateway ├── Controllers │ ├── AuthController.cs │ └── StatusController.cs ├── Extensions │ └── SetupServices.cs ├── README.md ├── Services │ ├── ClusterConfigService.cs │ ├── IClusterConfigService.cs │ ├── IRoutesConfigService.cs │ ├── IStatusService.cs │ ├── InMemoryConfig.cs │ ├── InMemoryConfigProvider.cs │ ├── RoutesConfigService.cs │ └── StatusService.cs └── SwizlyPeasy.Gateway.csproj ├── SwizlyPeasy.Utils ├── Ocelot │ └── OcelotConverter.cs ├── Program.cs ├── Properties │ └── launchSettings.json └── SwizlyPeasy.Utils.csproj ├── Test ├── SwizlyPeasy.Test.IntegrationTest │ ├── Auth │ │ └── TestUser.cs │ ├── AuthIntegrationTest.cs │ ├── ClaimsIntegrationTest.cs │ ├── ClientMicroServiceTest.cs │ ├── Constants.cs │ ├── Docker │ │ ├── docker-compose.override.yml │ │ └── docker-compose.yml │ ├── DynamicConfigIntegrationTest.cs │ ├── Extensions │ │ └── HttpClientExtensions.cs │ ├── Factories │ │ └── CustomWebApplicationFactory.cs │ ├── GatewayIntegrationTest.cs │ ├── HealthCheckTest.cs │ ├── SwizlyPeasy.Test.IntegrationTest.csproj │ ├── TestHttpClient.cs │ └── Usings.cs └── SwizlyPeasy.Test.UnitTest │ ├── Consul │ ├── AgentsTest.cs │ ├── HealthCheckTest.cs │ └── KeyValueStoreTest.cs │ ├── ConsulClientFactory.cs │ ├── Exceptions │ ├── ExceptionTestData.cs │ └── Rfc7807ExceptionTest.cs │ ├── Gateway │ ├── ClusterConfigServiceTest.cs │ └── RouteConfigServiceTest.cs │ ├── SwizlyPeasy.Test.UnitTest.csproj │ ├── TestFactories.cs │ └── Usings.cs ├── coverage.xml ├── docker-compose.dcproj ├── docker-compose.override.yml ├── docker-compose.yml └── launchSettings.json /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/.dockerignore -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/dotnet.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/.github/workflows/dotnet.yml -------------------------------------------------------------------------------- /.github/workflows/nugets.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/.github/workflows/nugets.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/.gitignore -------------------------------------------------------------------------------- /Demo/SwizlyPeasy.Demo.API/Authorization/AppAuthorizationHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Demo/SwizlyPeasy.Demo.API/Authorization/AppAuthorizationHandler.cs -------------------------------------------------------------------------------- /Demo/SwizlyPeasy.Demo.API/Authorization/BobRequirement.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Demo/SwizlyPeasy.Demo.API/Authorization/BobRequirement.cs -------------------------------------------------------------------------------- /Demo/SwizlyPeasy.Demo.API/Controllers/DemoController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Demo/SwizlyPeasy.Demo.API/Controllers/DemoController.cs -------------------------------------------------------------------------------- /Demo/SwizlyPeasy.Demo.API/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Demo/SwizlyPeasy.Demo.API/Dockerfile -------------------------------------------------------------------------------- /Demo/SwizlyPeasy.Demo.API/Dtos/WeatherForecast.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Demo/SwizlyPeasy.Demo.API/Dtos/WeatherForecast.cs -------------------------------------------------------------------------------- /Demo/SwizlyPeasy.Demo.API/Extensions/AuthorizationExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Demo/SwizlyPeasy.Demo.API/Extensions/AuthorizationExtensions.cs -------------------------------------------------------------------------------- /Demo/SwizlyPeasy.Demo.API/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Demo/SwizlyPeasy.Demo.API/Program.cs -------------------------------------------------------------------------------- /Demo/SwizlyPeasy.Demo.API/Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Demo/SwizlyPeasy.Demo.API/Properties/launchSettings.json -------------------------------------------------------------------------------- /Demo/SwizlyPeasy.Demo.API/SwizlyPeasy.Demo.API.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Demo/SwizlyPeasy.Demo.API/SwizlyPeasy.Demo.API.csproj -------------------------------------------------------------------------------- /Demo/SwizlyPeasy.Demo.API/appsettings.Development.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Demo/SwizlyPeasy.Demo.API/appsettings.Development.json -------------------------------------------------------------------------------- /Demo/SwizlyPeasy.Demo.API/appsettings.IntegrationTest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Demo/SwizlyPeasy.Demo.API/appsettings.IntegrationTest.json -------------------------------------------------------------------------------- /Demo/SwizlyPeasy.Demo.API/appsettings.IntegrationTest2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Demo/SwizlyPeasy.Demo.API/appsettings.IntegrationTest2.json -------------------------------------------------------------------------------- /Demo/SwizlyPeasy.Demo.API/appsettings.IntegrationTest3.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Demo/SwizlyPeasy.Demo.API/appsettings.IntegrationTest3.json -------------------------------------------------------------------------------- /Demo/SwizlyPeasy.Demo.API/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Demo/SwizlyPeasy.Demo.API/appsettings.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/README.md -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Auth/ClientAuthExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Auth/ClientAuthExtensions.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Auth/OpenIdConnectExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Auth/OpenIdConnectExtensions.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Auth/SwizlyPeasyAuthenticationOptions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Auth/SwizlyPeasyAuthenticationOptions.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Auth/SwizlyPeasyClientAuthenticationHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Auth/SwizlyPeasyClientAuthenticationHandler.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Constants.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Constants.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Dtos/AuthRedirectionConfig.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Dtos/AuthRedirectionConfig.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Dtos/ClaimsConfig.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Dtos/ClaimsConfig.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Dtos/OidcConfig.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Dtos/OidcConfig.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Dtos/ProxiesAndNetworksConfig.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Dtos/ProxiesAndNetworksConfig.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Dtos/RateLimiterPolicyConfig.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Dtos/RateLimiterPolicyConfig.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Dtos/Rfc7807.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Dtos/Rfc7807.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Dtos/ServiceDiscoveryConfig.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Dtos/ServiceDiscoveryConfig.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Dtos/ServiceRegistrationConfig.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Dtos/ServiceRegistrationConfig.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Dtos/Status/ClusterStatusDto.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Dtos/Status/ClusterStatusDto.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Dtos/Status/DestinationStatusDto.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Dtos/Status/DestinationStatusDto.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Dtos/Status/HealthEndpointStatusDto.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Dtos/Status/HealthEndpointStatusDto.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Dtos/Status/StatusDto.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Dtos/Status/StatusDto.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Exceptions/BadRequestDomainException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Exceptions/BadRequestDomainException.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Exceptions/ConflictDomainException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Exceptions/ConflictDomainException.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Exceptions/DomainException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Exceptions/DomainException.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Exceptions/ForbiddenDomainException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Exceptions/ForbiddenDomainException.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Exceptions/InternalDomainException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Exceptions/InternalDomainException.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Exceptions/NotFoundDomainException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Exceptions/NotFoundDomainException.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Exceptions/Rfc7807.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Exceptions/Rfc7807.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Exceptions/TooManyRequestsException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Exceptions/TooManyRequestsException.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Exceptions/UnAuthorizedDomainException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Exceptions/UnAuthorizedDomainException.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Exceptions/UnprocessableEntityDomainException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Exceptions/UnprocessableEntityDomainException.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Extensions/CodePageExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Extensions/CodePageExtensions.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Extensions/ExceptionsHandlingExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Extensions/ExceptionsHandlingExtensions.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Extensions/ForwardedHeaderExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Extensions/ForwardedHeaderExtensions.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Extensions/RateLimiterExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Extensions/RateLimiterExtensions.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/HealthChecks/HealthCheckExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/HealthChecks/HealthCheckExtensions.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/HealthChecks/HealthCheckResponse.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/HealthChecks/HealthCheckResponse.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/HealthChecks/HealthCheckResponseItem.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/HealthChecks/HealthCheckResponseItem.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Middlewares/ExceptionsHandlerMiddleware.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Middlewares/ExceptionsHandlerMiddleware.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Common/Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/Properties/launchSettings.json -------------------------------------------------------------------------------- /SwizlyPeasy.Common/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/README.md -------------------------------------------------------------------------------- /SwizlyPeasy.Common/SwizlyPeasy.Common.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Common/SwizlyPeasy.Common.csproj -------------------------------------------------------------------------------- /SwizlyPeasy.Consul/Agents/IRetrieveAgentsService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Consul/Agents/IRetrieveAgentsService.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Consul/Agents/RetrieveAgentsService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Consul/Agents/RetrieveAgentsService.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Consul/ClientConfig/ConsulClientConfigurationExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Consul/ClientConfig/ConsulClientConfigurationExtensions.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Consul/Health/HealthCheckService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Consul/Health/HealthCheckService.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Consul/Health/IHealthCheckService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Consul/Health/IHealthCheckService.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Consul/KeyValueStore/IKeyValueService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Consul/KeyValueStore/IKeyValueService.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Consul/KeyValueStore/KeyValueService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Consul/KeyValueStore/KeyValueService.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Consul/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Consul/README.md -------------------------------------------------------------------------------- /SwizlyPeasy.Consul/ServiceRegistration/ClientServiceRegistrationExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Consul/ServiceRegistration/ClientServiceRegistrationExtensions.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Consul/ServiceRegistration/ConsulServiceRegistrationExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Consul/ServiceRegistration/ConsulServiceRegistrationExtensions.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Consul/ServiceRegistration/ServiceDiscoveryHostedService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Consul/ServiceRegistration/ServiceDiscoveryHostedService.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Consul/SwizlyPeasy.Consul.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Consul/SwizlyPeasy.Consul.csproj -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway.API/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway.API/Dockerfile -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway.API/NLog.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway.API/NLog.config -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway.API/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway.API/Program.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway.API/Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway.API/Properties/launchSettings.json -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway.API/SwizlyPeasy.Gateway.API.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway.API/SwizlyPeasy.Gateway.API.csproj -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway.API/appsettings.Development.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway.API/appsettings.Development.json -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway.API/appsettings.IntegrationTest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway.API/appsettings.IntegrationTest.json -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway.API/appsettings.IntegrationTest2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway.API/appsettings.IntegrationTest2.json -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway.API/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway.API/appsettings.json -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway.API/routes.config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway.API/routes.config.json -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway.sln -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway.sln.DotSettings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway.sln.DotSettings -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway/Controllers/AuthController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway/Controllers/AuthController.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway/Controllers/StatusController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway/Controllers/StatusController.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway/Extensions/SetupServices.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway/Extensions/SetupServices.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway/README.md -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway/Services/ClusterConfigService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway/Services/ClusterConfigService.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway/Services/IClusterConfigService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway/Services/IClusterConfigService.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway/Services/IRoutesConfigService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway/Services/IRoutesConfigService.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway/Services/IStatusService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway/Services/IStatusService.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway/Services/InMemoryConfig.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway/Services/InMemoryConfig.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway/Services/InMemoryConfigProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway/Services/InMemoryConfigProvider.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway/Services/RoutesConfigService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway/Services/RoutesConfigService.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway/Services/StatusService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway/Services/StatusService.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Gateway/SwizlyPeasy.Gateway.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Gateway/SwizlyPeasy.Gateway.csproj -------------------------------------------------------------------------------- /SwizlyPeasy.Utils/Ocelot/OcelotConverter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Utils/Ocelot/OcelotConverter.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Utils/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Utils/Program.cs -------------------------------------------------------------------------------- /SwizlyPeasy.Utils/Properties/launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Utils/Properties/launchSettings.json -------------------------------------------------------------------------------- /SwizlyPeasy.Utils/SwizlyPeasy.Utils.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/SwizlyPeasy.Utils/SwizlyPeasy.Utils.csproj -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.IntegrationTest/Auth/TestUser.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.IntegrationTest/Auth/TestUser.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.IntegrationTest/AuthIntegrationTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.IntegrationTest/AuthIntegrationTest.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.IntegrationTest/ClaimsIntegrationTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.IntegrationTest/ClaimsIntegrationTest.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.IntegrationTest/ClientMicroServiceTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.IntegrationTest/ClientMicroServiceTest.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.IntegrationTest/Constants.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.IntegrationTest/Constants.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.IntegrationTest/Docker/docker-compose.override.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.IntegrationTest/Docker/docker-compose.override.yml -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.IntegrationTest/Docker/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.IntegrationTest/Docker/docker-compose.yml -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.IntegrationTest/DynamicConfigIntegrationTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.IntegrationTest/DynamicConfigIntegrationTest.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.IntegrationTest/Extensions/HttpClientExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.IntegrationTest/Extensions/HttpClientExtensions.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.IntegrationTest/Factories/CustomWebApplicationFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.IntegrationTest/Factories/CustomWebApplicationFactory.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.IntegrationTest/GatewayIntegrationTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.IntegrationTest/GatewayIntegrationTest.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.IntegrationTest/HealthCheckTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.IntegrationTest/HealthCheckTest.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.IntegrationTest/SwizlyPeasy.Test.IntegrationTest.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.IntegrationTest/SwizlyPeasy.Test.IntegrationTest.csproj -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.IntegrationTest/TestHttpClient.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.IntegrationTest/TestHttpClient.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.IntegrationTest/Usings.cs: -------------------------------------------------------------------------------- 1 | global using Xunit; -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.UnitTest/Consul/AgentsTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.UnitTest/Consul/AgentsTest.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.UnitTest/Consul/HealthCheckTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.UnitTest/Consul/HealthCheckTest.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.UnitTest/Consul/KeyValueStoreTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.UnitTest/Consul/KeyValueStoreTest.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.UnitTest/ConsulClientFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.UnitTest/ConsulClientFactory.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.UnitTest/Exceptions/ExceptionTestData.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.UnitTest/Exceptions/ExceptionTestData.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.UnitTest/Exceptions/Rfc7807ExceptionTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.UnitTest/Exceptions/Rfc7807ExceptionTest.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.UnitTest/Gateway/ClusterConfigServiceTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.UnitTest/Gateway/ClusterConfigServiceTest.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.UnitTest/Gateway/RouteConfigServiceTest.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.UnitTest/Gateway/RouteConfigServiceTest.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.UnitTest/SwizlyPeasy.Test.UnitTest.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.UnitTest/SwizlyPeasy.Test.UnitTest.csproj -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.UnitTest/TestFactories.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/Test/SwizlyPeasy.Test.UnitTest/TestFactories.cs -------------------------------------------------------------------------------- /Test/SwizlyPeasy.Test.UnitTest/Usings.cs: -------------------------------------------------------------------------------- 1 | global using Xunit; -------------------------------------------------------------------------------- /coverage.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/coverage.xml -------------------------------------------------------------------------------- /docker-compose.dcproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/docker-compose.dcproj -------------------------------------------------------------------------------- /docker-compose.override.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/docker-compose.override.yml -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /launchSettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ggnaegi/SwizlyPeasy.Gateway/HEAD/launchSettings.json --------------------------------------------------------------------------------