add ReadStaticMappings & ReadStaticMapping

This commit is contained in:
Stef Heyenrath
2017-03-17 16:57:00 +01:00
parent 37de97ed5d
commit 7793330d1d

View File

@@ -37,22 +37,42 @@ namespace WireMock.Server
NullValueHandling = NullValueHandling.Ignore,
};
private void ReadStaticMappings()
/// <summary>
/// Reads the static mappings from a folder.
/// </summary>
/// <param name="folder">The optional folder. If not defined, use \__admin\mappings\</param>
[PublicAPI]
public void ReadStaticMappings([CanBeNull] string folder = null)
{
if (!Directory.Exists(Directory.GetCurrentDirectory() + AdminMappingsFolder))
if (folder == null)
folder = Directory.GetCurrentDirectory() + AdminMappingsFolder;
if (!Directory.Exists(folder))
return;
foreach (string filename in Directory.EnumerateFiles(Directory.GetCurrentDirectory() + AdminMappingsFolder))
{
string filenameWithoutExtension = Path.GetFileNameWithoutExtension(filename);
Guid guid;
if (!Guid.TryParse(filenameWithoutExtension, out guid))
guid = Guid.NewGuid();
DeserializeAndAddMapping(File.ReadAllText(filename), guid);
ReadStaticMapping(filename);
}
}
/// <summary>
/// Reads the static mapping.
/// </summary>
/// <param name="filename">The filename.</param>
[PublicAPI]
public void ReadStaticMapping([NotNull] string filename)
{
Check.NotNull(filename, nameof(filename));
string filenameWithoutExtension = Path.GetFileNameWithoutExtension(filename);
Guid guid;
if (!Guid.TryParse(filenameWithoutExtension, out guid))
guid = Guid.NewGuid();
DeserializeAndAddMapping(File.ReadAllText(filename), guid);
}
private void InitAdmin()
{
// __admin/settings