Example #1
0
    /// <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));
    }
Example #2
0
    /// <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));
    }
Example #3
0
    /// <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));
    }
Example #4
0
    /// <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);
    }
Example #5
0
 /// <inheritdoc />
 public Task <bool> HandleStubGenerationAsync(HttpResponseModel response, StubResponseModel stubResponseModel)
 {
     stubResponseModel.Headers = response.Headers;
     return(Task.FromResult(true));
 }