/// <inheritdoc /> public Task <bool> HandleStubGenerationAsync(HttpResponseModel response, StubResponseModel stubResponseModel) { if (response.ContentIsBase64) { stubResponseModel.Base64 = response.Content; return(Task.FromResult(true)); } var contentType = string.IsNullOrWhiteSpace(stubResponseModel.ContentType) ? null : stubResponseModel.ContentType.Split(';')[0].ToLower(); switch (contentType) { case Constants.HtmlMime: stubResponseModel.Html = response.Content; break; case Constants.JsonMime: stubResponseModel.Json = response.Content; break; case Constants.XmlTextMime: case Constants.XmlApplicationMime: stubResponseModel.Xml = response.Content; break; default: stubResponseModel.Text = response.Content; break; } return(Task.FromResult(true)); }
/// <inheritdoc /> public Task <bool> HandleStubGenerationAsync(HttpResponseModel response, StubResponseModel stubResponseModel) { if (response.StatusCode <= 0) { return(Task.FromResult(false)); } stubResponseModel.StatusCode = response.StatusCode; return(Task.FromResult(true)); }
/// <inheritdoc /> public Task <bool> HandleStubGenerationAsync(HttpResponseModel response, StubResponseModel stubResponseModel) { var header = response.Headers.CaseInsensitiveSearchPair("content-type"); if (string.IsNullOrWhiteSpace(header.Value)) { return(Task.FromResult(false)); } stubResponseModel.ContentType = header.Value; response.Headers.Remove(header); return(Task.FromResult(true)); }
/// <inheritdoc /> public async Task <StubResponseModel> ConvertToResponseAsync(HttpResponseModel response) { var stubResponse = new StubResponseModel(); foreach (var handler in _handlers.OrderByDescending(h => h.Priority)) { var executed = await handler.HandleStubGenerationAsync(response, stubResponse); _logger.LogDebug( $"Handler '{handler.GetType().Name}' " + (executed ? "executed" : "not executed") + "."); } return(stubResponse); }
/// <inheritdoc /> public Task <bool> HandleStubGenerationAsync(HttpResponseModel response, StubResponseModel stubResponseModel) { stubResponseModel.Headers = response.Headers; return(Task.FromResult(true)); }