Files
WireMock.Net-wiremock/src/WireMock.Net.Minimal/Server/WireMockServer.OpenApiParser.cs
T
Peter Benko 67acdcf1d3 Fix request storing when RequestLogExpirationDuration is set [bug] (#1455)
* Fix response timestamp

* Extracted new interface to own file
2026-05-11 10:28:38 +02:00

46 lines
1.6 KiB
C#

// Copyright © WireMock.Net
using System.Linq;
using System.Net;
using Microsoft.AspNetCore.Http;
using WireMock.Net.OpenApiParser;
namespace WireMock.Server;
public partial class WireMockServer
{
private IResponseMessage OpenApiConvertToMappings(HttpContext _, IRequestMessage requestMessage)
{
try
{
var mappingModels = new WireMockOpenApiParser().FromText(requestMessage.Body!, out var diagnostic);
return diagnostic.Errors.Any() ? ToJson(diagnostic, false, HttpStatusCode.BadRequest) : ToJson(mappingModels);
}
catch (Exception e)
{
_settings.Logger.Error("HttpStatusCode set to {0} {1}", HttpStatusCode.BadRequest, e);
return _responseMessageBuilder.Create(HttpStatusCode.BadRequest, e.Message);
}
}
private IResponseMessage OpenApiSaveToMappings(HttpContext _, IRequestMessage requestMessage)
{
try
{
var mappingModels = new WireMockOpenApiParser().FromText(requestMessage.Body!, out var diagnostic);
if (diagnostic.Errors.Any())
{
return ToJson(diagnostic, false, HttpStatusCode.BadRequest);
}
ConvertMappingsAndRegisterAsRespondProvider(mappingModels);
return _responseMessageBuilder.Create(HttpStatusCode.Created, "OpenApi document converted to Mappings");
}
catch (Exception e)
{
_settings.Logger.Error("HttpStatusCode set to {0} {1}", HttpStatusCode.BadRequest, e);
return _responseMessageBuilder.Create(HttpStatusCode.BadRequest, e.Message);
}
}
}