예제 #1
0
        public void Add_accept_header_to_stylesheet_link()
        {
            var linkFactory = new LinkFactory();

            var builders = new List <DelegatingRequestBuilder>()
            {
                new AcceptHeaderRequestBuilder(new[] { new MediaTypeWithQualityHeaderValue("text/css") }),
                new InlineRequestBuilder(r =>
                {
                    r.Headers.AcceptEncoding.Add(new StringWithQualityHeaderValue("gzip"));
                    return(r);
                })
            };

            linkFactory.SetRequestBuilder <StylesheetLink>(builders);

            var aboutlink = linkFactory.CreateLink <StylesheetLink>();

            aboutlink.Target = new Uri("http://example.org/about");

            var request = aboutlink.CreateRequest();

            Assert.Equal("text/css", request.Headers.Accept.ToString());
            Assert.Equal("gzip", request.Headers.AcceptEncoding.ToString());
        }
예제 #2
0
        // This is bogus too.  Also should be done by HttpClient Message handler
        
        public void Add_auth_header_aboutlink_request()
        {
            var linkFactory = new LinkFactory();
            linkFactory.SetRequestBuilder<AboutLink>(new InlineRequestBuilder(
                r => { r.Headers.Authorization = new AuthenticationHeaderValue("foo", "bar");
                         return r;
                }));

            var aboutlink = linkFactory.CreateLink<AboutLink>();
            aboutlink.Target = new Uri("http://example.org/about");

            var request = aboutlink.CreateRequest();

            Assert.Equal("foo bar", request.Headers.Authorization.ToString());
        }
예제 #3
0
        // This is bogus too.  Also should be done by HttpClient Message handler

        public void Add_auth_header_aboutlink_request()
        {
            var linkFactory = new LinkFactory();

            linkFactory.SetRequestBuilder <AboutLink>(new InlineRequestBuilder(
                                                          r => { r.Headers.Authorization = new AuthenticationHeaderValue("foo", "bar");
                                                                 return(r); }));

            var aboutlink = linkFactory.CreateLink <AboutLink>();

            aboutlink.Target = new Uri("http://example.org/about");

            var request = aboutlink.CreateRequest();

            Assert.Equal("foo bar", request.Headers.Authorization.ToString());
        }
예제 #4
0
        public void Add_user_Agent_header()
        {
            

            var linkFactory = new LinkFactory();
            linkFactory.SetRequestBuilder<AboutLink>(new InlineRequestBuilder(r =>
            {
                r.Headers.UserAgent.Add(new ProductInfoHeaderValue("MyApp", "1.0"));
                return r;
            }));

            var aboutlink = linkFactory.CreateLink<AboutLink>();
            aboutlink.Target = new Uri("http://example.org/about");

            var request = aboutlink.CreateRequest();

            Assert.Equal("MyApp/1.0", request.Headers.UserAgent.ToString());
        }
예제 #5
0
        public void Add_user_Agent_header()
        {
            var linkFactory = new LinkFactory();

            linkFactory.SetRequestBuilder <AboutLink>(new InlineRequestBuilder(r =>
            {
                r.Headers.UserAgent.Add(new ProductInfoHeaderValue("MyApp", "1.0"));
                return(r);
            }));

            var aboutlink = linkFactory.CreateLink <AboutLink>();

            aboutlink.Target = new Uri("http://example.org/about");

            var request = aboutlink.CreateRequest();

            Assert.Equal("MyApp/1.0", request.Headers.UserAgent.ToString());
        }
예제 #6
0
        public void Add_accept_header_to_stylesheet_link()
        {
            var linkFactory = new LinkFactory();

            var builders = new List<DelegatingRequestBuilder>()
            {
                new AcceptHeaderRequestBuilder(new[] {new MediaTypeWithQualityHeaderValue("text/css")}),
                new InlineRequestBuilder(r =>
                {
                    r.Headers.AcceptEncoding.Add(new StringWithQualityHeaderValue("gzip"));
                    return r;
                })
            };

            linkFactory.SetRequestBuilder<StylesheetLink>(builders);

            var aboutlink = linkFactory.CreateLink<StylesheetLink>();
            aboutlink.Target = new Uri("http://example.org/about");

            var request = aboutlink.CreateRequest();

            Assert.Equal("text/css", request.Headers.Accept.ToString());
            Assert.Equal("gzip", request.Headers.AcceptEncoding.ToString());
        }