diff --git a/src/SimpleHttpMock/ActualRequest.cs b/src/SimpleHttpMock/ActualRequest.cs index f77ca31..a31dd1c 100644 --- a/src/SimpleHttpMock/ActualRequest.cs +++ b/src/SimpleHttpMock/ActualRequest.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; namespace SimpleHttpMock { @@ -6,7 +7,9 @@ public class ActualRequest { public string Method { get; set; } public dynamic RequestBody { get; set; } - public Uri RequestUri { get; set; } + public Uri RequestUri { get; set; } + + public Dictionary RequestHeaders { get; set; } = new Dictionary(); public static ActualRequest ToRequest() { diff --git a/test/unit-test/Facts.cs b/test/unit-test/Facts.cs index a6b577d..ba3f195 100644 --- a/test/unit-test/Facts.cs +++ b/test/unit-test/Facts.cs @@ -383,5 +383,23 @@ public void should_be_able_to_process_string_as_json() } } } + + [Fact] + public void should_be_able_to_retrieve_headers2() + { + var builder = new MockedHttpServerBuilder(); + var requestRetriever = builder.WhenGet("/te$st").Respond(HttpStatusCode.OK).Retrieve(); + using (builder.Build("http://localhost:1122")) + { + using (var httpClient = new HttpClient()) + { + var request = new HttpRequestMessage(HttpMethod.Get, "http://localhost:1122/te$st"); + request.Headers.Add("X-Test", "test-value"); + httpClient.SendAsync(request).Wait(); + var actualRequest = requestRetriever(); + Assert.Equal("test-value", actualRequest.RequestHeaders["X-Test"]); + } + } + } } }