Browse Source

Merge pull request #14744 from abpframework/liangshiwei/patch

Fix RemoveUnnecessaryPortsStep
pull/14747/head
maliming 4 years ago
committed by GitHub
parent
commit
64dab8098e
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 39
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/RemoveUnnecessaryPortsStep.cs

39
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/RemoveUnnecessaryPortsStep.cs

@ -25,35 +25,46 @@ public class RemoveUnnecessaryPortsStep : ProjectBuildPipelineStep
return; return;
} }
var portsToRemoveFromCors = new List<string>(); var lines = httpApiHostAppSettings.GetLines();
var newlines = new List<string>();
var portsToRemove = new List<string>();
var removeAngularUrl = false;
var appSettingsJson = JObject.Parse(httpApiHostAppSettings.Content); var appSettingsJson = JObject.Parse(httpApiHostAppSettings.Content);
var appJson = (JObject)appSettingsJson["App"]; var appJson = (JObject)appSettingsJson["App"];
if (context.BuildArgs.UiFramework != UiFramework.Angular) if (context.BuildArgs.UiFramework != UiFramework.Angular)
{ {
var clientUrl = appJson.Property("ClientUrl")?.ToString(); removeAngularUrl = true;
portsToRemoveFromCors.Add("http://localhost:4200"); portsToRemove.Add("http://localhost:4200");
if (!clientUrl.IsNullOrWhiteSpace())
{
httpApiHostAppSettings.SetContent(httpApiHostAppSettings.Content.Replace(clientUrl, string.Empty));
}
} }
if (context.BuildArgs.UiFramework != UiFramework.Blazor) if (context.BuildArgs.UiFramework != UiFramework.Blazor)
{ {
portsToRemoveFromCors.Add("https://localhost:44307"); portsToRemove.Add("https://localhost:44307");
} }
foreach (var line in lines)
if (appJson["CorsOrigins"] != null)
{ {
var corsOrigins = appJson["CorsOrigins"].ToString(); var newLine = line;
var newCorsOrigins = string.Join(",", corsOrigins.Split(',').Where(x => !portsToRemoveFromCors.Contains(x))); if(removeAngularUrl && (line.Contains("AngularUrl")|| line.Contains("ClientUrl")))
{
continue;
}
httpApiHostAppSettings.SetContent(httpApiHostAppSettings.Content.Replace(corsOrigins, newCorsOrigins)); if(line.Contains("CorsOrigins") || line.Contains("RedirectAllowedUrls"))
{
var jsonValue = line.Contains("CorsOrigins") ? appJson["CorsOrigins"]?.ToString() : appJson["RedirectAllowedUrls"]?.ToString();
if(!jsonValue.IsNullOrWhiteSpace())
{
newLine = line.Replace(jsonValue, string.Join(",", jsonValue.Split(',').Where(x => !portsToRemove.Contains(x))));
}
}
newlines.Add(newLine);
} }
httpApiHostAppSettings.SetLines(newlines);
} }
private static void RemoveUnnecessaryDbMigratorClients(ProjectBuildContext context) private static void RemoveUnnecessaryDbMigratorClients(ProjectBuildContext context)

Loading…
Cancel
Save