Exemplo n.º 1
0
    public async Task RemoveHeader_ResponseNull_DoNothing(ResponseCondition condition)
    {
        var httpContext = new DefaultHttpContext();

        httpContext.Response.StatusCode = 502;

        var transform = new ResponseHeaderRemoveTransform("header1", condition);
        await transform.ApplyAsync(new ResponseTransformContext()
        {
            HttpContext   = httpContext,
            ProxyResponse = null,
            HeadersCopied = false,
        });
    }
Exemplo n.º 2
0
    public async Task RemoveHeader_Success(string names, string values, int status, ResponseCondition condition, string removedHeader, string expected)
    {
        var httpContext = new DefaultHttpContext();

        httpContext.Response.StatusCode = status;
        var proxyResponse = new HttpResponseMessage();

        foreach (var pair in TestResources.ParseNameAndValues(names, values))
        {
            httpContext.Response.Headers.Add(pair.Name, pair.Values);
        }

        var transform = new ResponseHeaderRemoveTransform(removedHeader, condition);
        await transform.ApplyAsync(new ResponseTransformContext()
        {
            HttpContext   = httpContext,
            ProxyResponse = proxyResponse,
            HeadersCopied = true,
        });

        var expectedHeaders = expected.Split("; ", StringSplitOptions.RemoveEmptyEntries);

        Assert.Equal(expectedHeaders, httpContext.Response.Headers.Select(h => h.Key));
    }