Fixed StatusCode = null or < 0 (#406)

* .

* fix tests

* responseModel.StatusCode is int statusCodeAsInt && statusCodeAsInt > 0

* < 0
This commit is contained in:
Stef Heyenrath
2020-01-25 17:51:38 +01:00
committed by GitHub
parent dfbfa5fd35
commit 710fc8dcf6
5 changed files with 69 additions and 10 deletions

View File

@@ -5,9 +5,8 @@ using WireMock.Matchers.Request;
using WireMock.RequestBuilders;
using WireMock.ResponseBuilders;
using WireMock.Settings;
using WireMock.Util;
using WireMock.Validation;
using WireMock.Types;
using WireMock.Validation;
namespace WireMock.Serialization
{

View File

@@ -5,6 +5,7 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
@@ -808,13 +809,17 @@ namespace WireMock.Server
return responseBuilder.WithProxy(proxyAndRecordSettings);
}
if (responseModel.StatusCode is string)
if (responseModel.StatusCode is string statusCodeAsString)
{
responseBuilder = responseBuilder.WithStatusCode((string) responseModel.StatusCode);
responseBuilder = responseBuilder.WithStatusCode(statusCodeAsString);
}
else if (responseModel.StatusCode is int statusCodeAsInt && statusCodeAsInt > 0)
{
responseBuilder = responseBuilder.WithStatusCode(statusCodeAsInt);
}
else
{
responseBuilder = responseBuilder.WithStatusCode(Convert.ToInt32(responseModel.StatusCode));
responseBuilder = responseBuilder.WithStatusCode(HttpStatusCode.OK);
}
if (responseModel.Headers != null)