Update to Nginx parse for default

This commit is contained in:
Mike Phares 2024-12-04 10:13:32 -07:00
parent ecc1cf3a62
commit ec98d1e275

View File

@ -1,57 +1,42 @@
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using System.Collections.ObjectModel;
namespace File_Folder_Helper.ADO2024.PI3; namespace File_Folder_Helper.ADO2024.PI3;
internal static partial class Helper20240916 internal static partial class Helper20240916
{ {
private static ReadOnlyCollection<string> Get(string searchPattern, string[] configFileLines)
{
List<string> results = [];
string[] segments;
foreach (string line in configFileLines)
{
if (line.Length < 2 || line[0] == '#')
continue;
segments = line.Split(searchPattern);
if (segments.Length < 2)
continue;
results.Add(segments[1].Split(';')[0]);
}
return results.AsReadOnly();
}
internal static void DebugProxyPass(ILogger<Worker> logger, List<string> args) internal static void DebugProxyPass(ILogger<Worker> logger, List<string> args)
{ {
string debug; string debug;
string enable;
string[] lines; string[] lines;
string fileName;
string[] segments; string[] segments;
string configFile = args[3]; string domain = args[5];
string includePath = args[3];
string searchPattern = args[2]; string searchPattern = args[2];
string searchPatternB = args[4]; string fileNameWithoutExtension;
string searchPatternC = args[5]; string[] searchPatterns = args[4].Split('|');
string sourceDirectory = Path.GetFullPath(args[0]); string sourceDirectory = Path.GetFullPath(args[0]);
string[] configFileLines = File.ReadAllLines(configFile);
ReadOnlyCollection<string> enabledSites = Get(searchPatternB, configFileLines);
logger.LogInformation("Found {files} file(s)", enabledSites.Count);
string[] files = Directory.GetFiles(sourceDirectory, searchPattern, SearchOption.AllDirectories); string[] files = Directory.GetFiles(sourceDirectory, searchPattern, SearchOption.AllDirectories);
logger.LogInformation("With search pattern '{SearchPattern}' found {files} file(s)", searchPattern, files.Length); logger.LogInformation("With search pattern '{SearchPattern}' found {files} file(s)", searchPattern, files.Length);
foreach (string file in files) foreach (string file in files)
{ {
debug = string.Empty; debug = string.Empty;
lines = File.ReadAllLines(file); lines = File.ReadAllLines(file);
fileName = Path.GetFileName(file); fileNameWithoutExtension = Path.GetFileNameWithoutExtension(file);
foreach (string line in lines) foreach (string line in lines)
{ {
segments = line.Split(searchPatternC); segments = line.Split(searchPatterns, StringSplitOptions.None);
if (segments.Length < 2) if (segments.Length < 2)
continue; continue;
if (segments[1][0] is not ' ' and not '\t')
continue;
debug = segments[1].Trim(); debug = segments[1].Trim();
} }
enable = enabledSites.Contains(fileName) ? string.Empty : "# "; logger.LogInformation("{includePath}{fileNameWithoutExtension}; # https://{fileNameWithoutExtension}.{domain} # {debug}",
logger.LogInformation("{enable}{searchPatternB}{fileName}; # https://{fileName}.phares.duckddns.org # {debug}", enable, searchPatternB, fileName, fileName, debug); includePath,
fileNameWithoutExtension,
fileNameWithoutExtension,
domain,
debug);
} }
} }