private void PrintRequest(WebApiSpecsRequest webApiSpecsRequest) { var headers = GetDisplayHeaders(webApiSpecsRequest.Headers); var bodyText = GetDisplayContent(webApiSpecsRequest); var text = $"REQUEST [WebApiSpecsRequest]\nMETHOD: {webApiSpecsRequest.RequestType}\nURL: {webApiSpecsRequest.Url}\nHEADERS:\n{headers}\nBODY:\n{bodyText}\n"; Print(text); }
private static string GetDisplayContent(WebApiSpecsRequest webApiSpecsRequest) { var content = MapContent(webApiSpecsRequest); if (content == null) { return(NULL_MSG_ITEM); } return(content == string.Empty ? EMPTY_MSG_ITEM : content); }
private async Task SendHttpRequestAsync(WebApiSpecsRequest request) { PrintRequest(request); var client = new HttpClientEx(); var httpClientExRequest = MapRequest(request); HttpResponse = await client.SendRequest(httpClientExRequest); _requestSent = true; ExtractContentFromHttpResponse(); await PrintResponseAsync(HttpResponse); }
private void ValidateRequest(WebApiSpecsRequest request) { if (!request.RequestType.HasValue) { throw new InvalidOperationException("Request type must have a value"); } if (string.IsNullOrWhiteSpace(request.Url)) { Assert.Fail("Path must be specified"); } }
private static string MapContent(WebApiSpecsRequest webApiSpecsRequest) { switch (webApiSpecsRequest.ContentType) { case WebApiSpecsRequestContentType.StringContent: return(webApiSpecsRequest.StringContent); case WebApiSpecsRequestContentType.JObjectContent: return(webApiSpecsRequest.JObjectContent?.ToString()); default: throw new InvalidOperationException($"Unexpected content type {webApiSpecsRequest.ContentType}"); } }
private static HttpClientExRequest MapRequest(WebApiSpecsRequest webApiSpecsRequest) { if (webApiSpecsRequest == null) { throw new ArgumentNullException(nameof(webApiSpecsRequest)); } return(new HttpClientExRequest { Content = MapContent(webApiSpecsRequest), Headers = webApiSpecsRequest.Headers, RequestType = webApiSpecsRequest.RequestType, Url = webApiSpecsRequest.Url }); }