diff --git a/src/WireMock.Net/Admin/Requests/LogEntryModel.cs b/src/WireMock.Net/Admin/Requests/LogEntryModel.cs index a32e8555..9f1f71ca 100644 --- a/src/WireMock.Net/Admin/Requests/LogEntryModel.cs +++ b/src/WireMock.Net/Admin/Requests/LogEntryModel.cs @@ -1,10 +1,20 @@ -namespace WireMock.Admin.Requests +using System; + +namespace WireMock.Admin.Requests { /// /// Request Log Model /// public class LogEntryModel { + /// + /// Gets or sets the unique identifier. + /// + /// + /// The unique identifier. + /// + public Guid Guid { get; set; } + /// /// Gets or sets the request. /// diff --git a/src/WireMock.Net/Admin/Requests/LogRequestModel.cs b/src/WireMock.Net/Admin/Requests/LogRequestModel.cs index 6055aa33..41c23e63 100644 --- a/src/WireMock.Net/Admin/Requests/LogRequestModel.cs +++ b/src/WireMock.Net/Admin/Requests/LogRequestModel.cs @@ -9,14 +9,6 @@ namespace WireMock.Admin.Requests /// public class LogRequestModel { - /// - /// Gets or sets the unique identifier. - /// - /// - /// The unique identifier. - /// - public Guid Guid { get; set; } - /// /// Gets the DateTime. /// diff --git a/src/WireMock.Net/Logging/LogEntry.cs b/src/WireMock.Net/Logging/LogEntry.cs index fd71a897..43357b47 100644 --- a/src/WireMock.Net/Logging/LogEntry.cs +++ b/src/WireMock.Net/Logging/LogEntry.cs @@ -1,10 +1,20 @@ -namespace WireMock.Logging +using System; + +namespace WireMock.Logging { /// /// LogEntry /// public class LogEntry { + /// + /// Gets or sets the unique identifier. + /// + /// + /// The unique identifier. + /// + public Guid Guid { get; set; } + /// /// Gets or sets the request message. /// diff --git a/src/WireMock.Net/Server/FluentMockServer.Admin.cs b/src/WireMock.Net/Server/FluentMockServer.Admin.cs index ebf71076..a0104db5 100644 --- a/src/WireMock.Net/Server/FluentMockServer.Admin.cs +++ b/src/WireMock.Net/Server/FluentMockServer.Admin.cs @@ -46,6 +46,7 @@ namespace WireMock.Server Given(Request.Create().WithPath(AdminRequests).UsingDelete()).RespondWith(new DynamicResponseProvider(RequestsDelete)); } + #region Mapping private ResponseMessage MappingGet(RequestMessage requestMessage) { Guid guid = Guid.Parse(requestMessage.Path.TrimStart(AdminMappings.ToCharArray())); @@ -88,7 +89,9 @@ namespace WireMock.Server return new ResponseMessage { Body = "Mapping removed" }; } + #endregion Mapping + #region Mappings private ResponseMessage MappingsGet(RequestMessage requestMessage) { var result = new List(); @@ -130,6 +133,50 @@ namespace WireMock.Server return new ResponseMessage { Body = "Mappings deleted" }; } + #endregion Mappings + + #region Requests + private ResponseMessage RequestsGet(RequestMessage requestMessage) + { + var result = new List(); + foreach (var logEntry in LogEntries.Where(r => !r.RequestMessage.Path.StartsWith("/__admin/"))) + { + var model = new LogEntryModel + { + Guid = logEntry.Guid, + Request = new LogRequestModel + { + DateTime = logEntry.RequestMessage.DateTime, + Url = logEntry.RequestMessage.Path, + AbsoleteUrl = logEntry.RequestMessage.Url, + Query = logEntry.RequestMessage.Query, + Method = logEntry.RequestMessage.Method, + Body = logEntry.RequestMessage.Body, + Headers = logEntry.RequestMessage.Headers, + Cookies = logEntry.RequestMessage.Cookies + }, + Response = new LogResponseModel + { + StatusCode = logEntry.ResponseMessage.StatusCode, + Body = logEntry.ResponseMessage.Body, + BodyOriginal = logEntry.ResponseMessage.BodyOriginal, + Headers = logEntry.ResponseMessage.Headers + } + }; + + result.Add(model); + } + + return ToJson(result); + } + + private ResponseMessage RequestsDelete(RequestMessage requestMessage) + { + ResetLogEntries(); + + return new ResponseMessage { Body = "Requests deleted" }; + } + #endregion Requests private IRequestBuilder InitRequestBuilder(MappingModel mappingModel) { @@ -139,7 +186,7 @@ namespace WireMock.Server requestBuilder = requestBuilder.WithPath(path); else { - JToken pathToken = (JToken) mappingModel.Request.Path; + JToken pathToken = (JToken)mappingModel.Request.Path; PathModel pathModel = pathToken.ToObject(); if (pathModel?.Matchers != null) requestBuilder = requestBuilder.WithPath(pathModel.Matchers.Select(Map).ToArray()); @@ -205,47 +252,6 @@ namespace WireMock.Server return responseBuilder; } - private ResponseMessage RequestsGet(RequestMessage requestMessage) - { - var result = new List(); - foreach (var logEntry in LogEntries.Where(r => !r.RequestMessage.Path.StartsWith("/__admin/"))) - { - var model = new LogEntryModel - { - Request = new LogRequestModel - { - Guid = Guid.NewGuid(), - DateTime = logEntry.RequestMessage.DateTime, - Url = logEntry.RequestMessage.Path, - AbsoleteUrl = logEntry.RequestMessage.Url, - Query = logEntry.RequestMessage.Query, - Method = logEntry.RequestMessage.Method, - Body = logEntry.RequestMessage.Body, - Headers = logEntry.RequestMessage.Headers, - Cookies = logEntry.RequestMessage.Cookies - }, - Response = new LogResponseModel - { - StatusCode = logEntry.ResponseMessage.StatusCode, - Body = logEntry.ResponseMessage.Body, - BodyOriginal = logEntry.ResponseMessage.BodyOriginal, - Headers = logEntry.ResponseMessage.Headers - } - }; - - result.Add(model); - } - - return ToJson(result); - } - - private ResponseMessage RequestsDelete(RequestMessage requestMessage) - { - ResetLogEntries(); - - return new ResponseMessage { Body = "Requests deleted" }; - } - private MappingModel ToMappingModel(Mapping mapping) { var request = (Request)mapping.RequestMatcher; diff --git a/src/WireMock.Net/Server/FluentMockServer.cs b/src/WireMock.Net/Server/FluentMockServer.cs index 7a7cbf04..d30ab586 100644 --- a/src/WireMock.Net/Server/FluentMockServer.cs +++ b/src/WireMock.Net/Server/FluentMockServer.cs @@ -277,6 +277,7 @@ namespace WireMock.Server { var log = new LogEntry { + Guid = Guid.NewGuid(), RequestMessage = request, ResponseMessage = response };