diff --git a/src/WireMock.Net/Server/FluentMockServer.Admin.cs b/src/WireMock.Net/Server/FluentMockServer.Admin.cs
index 3a08b6f0..2fc4dbbb 100644
--- a/src/WireMock.Net/Server/FluentMockServer.Admin.cs
+++ b/src/WireMock.Net/Server/FluentMockServer.Admin.cs
@@ -37,22 +37,42 @@ namespace WireMock.Server
NullValueHandling = NullValueHandling.Ignore,
};
- private void ReadStaticMappings()
+ ///
+ /// Reads the static mappings from a folder.
+ ///
+ /// The optional folder. If not defined, use \__admin\mappings\
+ [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);
}
}
+ ///
+ /// Reads the static mapping.
+ ///
+ /// The filename.
+ [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