private static async Task SetupMockServerRequestAsync( MockServerClient mockServerClient, Expectation expectation, HttpRequest httpRequest, HttpResponse httpResponse) { var isSecure = expectation.HttpRequest.IsSecure.HasValue && expectation.HttpRequest.IsSecure.Value; var unlimitedTimes = expectation.Times == null || expectation.Times.IsUnlimited; await mockServerClient .When(httpRequest .WithMethod(expectation.HttpRequest.Method) .WithPath(expectation.HttpRequest.Path) .WithQueryStringParameters(expectation.HttpRequest.Parameters.ToArray()) .WithBody(expectation.HttpRequest.Body) .WithSecure(isSecure), unlimitedTimes?Times.Unlimited() : Times.Exactly(expectation.Times.Count)) .RespondAsync(httpResponse .WithStatusCode(expectation.HttpResponse.StatusCode) .WithHeaders(expectation.HttpResponse.Headers.ToArray()) .WithBody(expectation.HttpResponse.Body ?? Contents.EmptyText()) .WithDelay(GetTimeSpanDelay(expectation.HttpResponse.Delay))); }