Browse Source

Routing and tye fix

rel-2.1
Galip Tolga Erdem 3 years ago
parent
commit
0d07792a44
  1. 37
      gateways/web/src/EShopOnAbp.WebGateway/ReverseProxyBuilderExtensions.cs
  2. 16
      tye.yaml

37
gateways/web/src/EShopOnAbp.WebGateway/ReverseProxyBuilderExtensions.cs

@ -1,14 +1,12 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text.Json;
using EShopOnAbp.WebGateway.Aggregations.ApplicationConfiguration; using EShopOnAbp.WebGateway.Aggregations.ApplicationConfiguration;
using EShopOnAbp.WebGateway.Aggregations.Localization; using EShopOnAbp.WebGateway.Aggregations.Localization;
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.Routing;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Json;
using Yarp.ReverseProxy.Configuration; using Yarp.ReverseProxy.Configuration;
namespace EShopOnAbp.WebGateway; namespace EShopOnAbp.WebGateway;
@ -22,36 +20,35 @@ public static class ReverseProxyBuilderExtensions
proxyBuilder.Use(async (context, next) => proxyBuilder.Use(async (context, next) =>
{ {
var endpoint = context.GetEndpoint(); var endpoint = context.GetEndpoint();
var localizationAggregation = context.RequestServices var localizationAggregation = context.RequestServices
.GetRequiredService<ILocalizationAggregation>(); .GetRequiredService<ILocalizationAggregation>();
var appConfigurationAggregation = context.RequestServices var appConfigurationAggregation = context.RequestServices
.GetRequiredService<IAppConfigurationAggregation>(); .GetRequiredService<IAppConfigurationAggregation>();
var jsonSerializer = context.RequestServices.GetRequiredService<IJsonSerializer>();
// The "/api/abp/application-localization" endpoint // The "/api/abp/application-localization" endpoint
if (localizationAggregation.LocalizationRouteName == endpoint?.DisplayName) if (localizationAggregation.LocalizationRouteName == endpoint?.DisplayName)
{ {
var localizationRequestInput = var localizationRequestInput =
CreateLocalizationRequestInput(context, localizationAggregation.LocalizationEndpoint); CreateLocalizationRequestInput(context, localizationAggregation.LocalizationEndpoint);
var result = await localizationAggregation.GetLocalizationAsync(localizationRequestInput); var result = await localizationAggregation.GetLocalizationAsync(localizationRequestInput);
await context.Response.WriteAsync(jsonSerializer.Serialize(result)); await context.Response.WriteAsJsonAsync(result);
return;
}
// The "/api/abp/application-configuration" endpoint
if (appConfigurationAggregation.AppConfigRouteName == endpoint?.DisplayName)
{
var appConfigurationRequestInput =
CreateAppConfigurationRequestInput(context, appConfigurationAggregation.AppConfigEndpoint);
var result =
await appConfigurationAggregation.GetAppConfigurationAsync(appConfigurationRequestInput);
await context.Response.WriteAsJsonAsync(result);
return; return;
} }
// // The "/api/abp/application-configuration" endpoint
// if (appConfigurationAggregation.AppConfigRouteName == endpoint?.DisplayName)
// {
// var appConfigurationRequestInput =
// CreateAppConfigurationRequestInput(context, appConfigurationAggregation.AppConfigEndpoint);
//
// var result = await appConfigurationAggregation.GetAppConfigurationAsync(appConfigurationRequestInput);
// await context.Response.WriteAsync(jsonSerializer.Serialize(result));
// return;
// }
await next(); await next();
}); });
@ -67,7 +64,7 @@ public static class ReverseProxyBuilderExtensions
var input = new AppConfigurationRequest(); var input = new AppConfigurationRequest();
string path = $"{appConfigurationPath}?includeLocalizationResources=false"; string path = $"{appConfigurationPath}?includeLocalizationResources=false";
var clusterList = GetClusters(proxyConfig); var clusterList = GetClusters(proxyConfig);
foreach (var cluster in clusterList) foreach (var cluster in clusterList)
{ {

16
tye.yaml

@ -67,14 +67,14 @@ services:
env_file: env_file:
- ./.env - ./.env
# - name: web-gateway - name: web-gateway
# project: gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj project: gateways/web/src/EShopOnAbp.WebGateway/EShopOnAbp.WebGateway.csproj
# bindings: bindings:
# - protocol: https - protocol: https
# port: 44372 port: 44372
# env: env:
# - Kestrel__Certificates__Default__Path=../../../../etc/dev-cert/localhost.pfx - Kestrel__Certificates__Default__Path=../../../../etc/dev-cert/localhost.pfx
# - Kestrel__Certificates__Default__Password=8b6039b6-c67a-448b-977b-0ce6d3fcfd49 - Kestrel__Certificates__Default__Password=8b6039b6-c67a-448b-977b-0ce6d3fcfd49
- name: web-public-gateway - name: web-public-gateway
project: gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj project: gateways/web-public/src/EShopOnAbp.WebPublicGateway/EShopOnAbp.WebPublicGateway.csproj

Loading…
Cancel
Save