public void Scheme_Added(string startValue, string scheme, bool append, string expected)
        {
            var httpContext = new DefaultHttpContext();

            httpContext.Request.Scheme = scheme;
            var transform = new RequestHeaderXForwardedProtoTransform(append);
            var result    = transform.Apply(httpContext, startValue.Split(";", System.StringSplitOptions.RemoveEmptyEntries));

            Assert.Equal(expected.Split(";", System.StringSplitOptions.RemoveEmptyEntries), result);
        }
        public async Task Scheme_Added(string startValue, string scheme, bool append, string expected)
        {
            var httpContext = new DefaultHttpContext();

            httpContext.Request.Scheme = scheme;
            var proxyRequest = new HttpRequestMessage();

            proxyRequest.Headers.Add("name", startValue.Split(";", StringSplitOptions.RemoveEmptyEntries));
            var transform = new RequestHeaderXForwardedProtoTransform("name", append);
            await transform.ApplyAsync(new RequestTransformContext()
            {
                HttpContext   = httpContext,
                ProxyRequest  = proxyRequest,
                HeadersCopied = true,
            });

            Assert.Equal(expected.Split(";", StringSplitOptions.RemoveEmptyEntries), proxyRequest.Headers.GetValues("name"));
        }