コード例 #1
0
        public void Adds_x_forwarded_for_if_none()
        {
            var requestHead = default(HttpRequestHead);

            var txDel = new HttpServerTransactionDelegate(IPAddress.Parse("8.8.8.8"),
                new MockResponseFactory(), new MockRequestDelegate()
                {
                    OnRequestAction = (head, body, response) => {
                        requestHead = head;
                    }
                });

            txDel.Subscribe(new MockObserver<IDataProducer>());
            txDel.OnRequest(new HttpRequestHead()
            {
                Headers = new Dictionary<string, string>()
            }, false);

            Assert.That(requestHead.Headers["X-Forwarded-For"], Is.EqualTo("8.8.8.8"));
        }
コード例 #2
0
        public void Append_x_forwarded_for_if_any()
        {
            var requestHead = default(HttpRequestHead);

            var txDel = new HttpServerTransactionDelegate(IPAddress.Parse("8.8.8.8"),
                new MockResponseFactory(), new MockRequestDelegate()
                {
                    OnRequestAction = (head, body, response) =>
                    {
                        requestHead = head;
                    }
                });

            txDel.Subscribe(new MockObserver<IDataProducer>());
            txDel.OnRequest(new HttpRequestHead()
            {
                Headers = new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase)
                    { { "x-ForWarDED-FOr", "4.4.4.4" } }
            }, false);

            Assert.That(requestHead.Headers["x-Forwarded-For"], Is.EqualTo("4.4.4.4,8.8.8.8"));
        }