#296 still hacking this idea around

This commit is contained in:
Tom Gardham-Pallister 2018-04-15 18:06:03 +01:00
parent 3ae2b286ab
commit c5aa11f7fb
2 changed files with 19 additions and 6 deletions

View File

@ -32,19 +32,32 @@ namespace Ocelot.DependencyInjection
var reg = new Regex(pattern);
var files = Directory.GetFiles(".")
.Where(path => reg.IsMatch(path))
.Where(path => reg.IsMatch(path)).Where(x => x.Count(s => s == '.') == 3)
.ToList();
FileConfiguration ocelotConfig = new FileConfiguration();
foreach (var file in files)
{
if(files.Count > 1 && file == "./ocelot.json")
{
continue;
}
var lines = File.ReadAllText(file);
var config = JsonConvert.DeserializeObject<FileConfiguration>(lines);
if(file == "./ocelot.global.json")
{
ocelotConfig.GlobalConfiguration = config.GlobalConfiguration;
}
//var load all files with ocelot*.json
//merge these files into one
//save it as ocelot.json
ocelotConfig.Aggregates.AddRange(config.Aggregates);
ocelotConfig.ReRoutes.AddRange(config.ReRoutes);
}
var json = JsonConvert.SerializeObject(ocelotConfig);
File.WriteAllText("ocelot.json", json);
builder.AddJsonFile("ocelot.json");
return builder;
}

View File

@ -73,11 +73,11 @@ namespace Ocelot.UnitTests.DependencyInjection
File.WriteAllText("ocelot.global.json", globalJson);
var reRouteJson = JsonConvert.SerializeObject(reRoute);
File.WriteAllText("ocelot.reRoute.json", reRouteJson);
File.WriteAllText("ocelot.reRoutes.json", reRouteJson);
IConfigurationBuilder builder = new ConfigurationBuilder();
builder.AddOcelot();
var configRoot = builder.Build();
}
private void GivenTheBaseUrl(string baseUrl)