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, 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; return;
foreach (string filename in Directory.EnumerateFiles(Directory.GetCurrentDirectory() + AdminMappingsFolder)) foreach (string filename in Directory.EnumerateFiles(Directory.GetCurrentDirectory() + AdminMappingsFolder))
{ {
string filenameWithoutExtension = Path.GetFileNameWithoutExtension(filename); ReadStaticMapping(filename);
Guid guid;
if (!Guid.TryParse(filenameWithoutExtension, out guid))
guid = Guid.NewGuid();
DeserializeAndAddMapping(File.ReadAllText(filename), guid);
} }
} }
/// <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() private void InitAdmin()
{ {
// __admin/settings // __admin/settings