public void Should_be_able_to_convert_all_standard_headers() { foreach (var header in typeof(HeaderNames) .GetFields(BindingFlags.Static | BindingFlags.Public) .Select(field => field.GetValue(null) as string) .Where(name => name != null) .Except(new [] { HeaderNames.Connection, HeaderNames.ContentLength, HeaderNames.Host, HeaderNames.TransferEncoding, })) { var value = Guid.NewGuid().ToString(); var request = Request.Get("/") .WithHeader(header, value); RequestHeadersConverter.Fill(request, message, log); message.Headers.TryGetValues(header, out var observedValue).Should().BeTrue($"Header = '{header}'"); observedValue.Should().ContainSingle().Which.Should().Be(value); } }
public static HttpRequestMessage Create(Request request, CancellationToken token, ILog log) { var message = new HttpRequestMessage(TranslateMethod(request.Method), request.Url) { Content = TranslateContent(request, token) }; RequestHeadersConverter.Fill(request, message, log); return(message); }