public async Task RemoveTrailerFromFeature_Success(string names, string values, int status, ResponseCondition condition, string removedHeader, string expected) { var httpContext = new DefaultHttpContext(); httpContext.Response.StatusCode = status; var trailerFeature = new TestTrailersFeature(); httpContext.Features.Set <IHttpResponseTrailersFeature>(trailerFeature); var proxyResponse = new HttpResponseMessage(); foreach (var pair in TestResources.ParseNameAndValues(names, values)) { trailerFeature.Trailers.Add(pair.Name, pair.Values); } var transform = new ResponseTrailerRemoveTransform(removedHeader, condition); await transform.ApplyAsync(new ResponseTrailersTransformContext() { HttpContext = httpContext, ProxyResponse = proxyResponse, HeadersCopied = true, }); var expectedHeaders = expected.Split("; ", StringSplitOptions.RemoveEmptyEntries); Assert.Equal(expectedHeaders, trailerFeature.Trailers.Select(h => h.Key)); }
public async Task RemoveHeader_Success(string names, string values, string removedHeader, string expected) { var httpContext = new DefaultHttpContext(); var proxyRequest = new HttpRequestMessage(); foreach (var pair in TestResources.ParseNameAndValues(names, values)) { proxyRequest.Headers.Add(pair.Name, pair.Values); } var transform = new RequestHeaderRemoveTransform(removedHeader); await transform.ApplyAsync(new RequestTransformContext() { HttpContext = httpContext, ProxyRequest = proxyRequest, HeadersCopied = true, }); var expectedHeaders = expected.Split("; ", StringSplitOptions.RemoveEmptyEntries); Assert.Equal(expectedHeaders, proxyRequest.Headers.Select(h => h.Key)); }