コード例 #1
0
        public void Build_SetsUriOnRequest()
        {
            var builder = new HttpBuilder(new HttpClient());

            var request = builder.Build(HttpMethod.Options, _uri);

            request.RequestUri.Should().Be(_uri);
        }
コード例 #2
0
        public void Build_SetsMethodOnRequest()
        {
            var builder = new HttpBuilder(new HttpClient());
            var method = HttpMethod.Trace;

            var request = builder.Build(method, _uri);

            request.Method.Should().Be(method);
        }
コード例 #3
0
        public void Build_SetsContentOnRequest()
        {
            var builder = new HttpBuilder(new HttpClient());
            builder.Content(new { Name = "Sergej Popov" });

            var request = builder.Build(HttpMethod.Get, _uri);

            request.Content.ReadAsStringAsync().Result.Should().Be("{\"Name\":\"Sergej Popov\"}");
        }
コード例 #4
0
        public void Build_SetsRequestHeaderOnRequest()
        {
            var date = DateTime.UtcNow;
            var builder = new HttpBuilder(new HttpClient());
            builder.Headers(headers => headers.Date = date);

            var request = builder.Build(HttpMethod.Options, _uri);

            request.Headers.Date.Should().Be(date);
        }
コード例 #5
0
        public void Build_SetsMimeOnRequest()
        {
            var builder = new HttpBuilder(new HttpClient());
            builder.Content(new { Name = "Sergej Popov" });
            builder.Mime(Mime.ImagePng);

            var request = builder.Build(HttpMethod.Options, _uri);

            request.Content.Headers.ContentType.Should().Be(MediaTypeHeaderValue.Parse(Mime.ImagePng.GetAlias()));
        }
コード例 #6
0
        public void Build_SetsContentHeaderOnRequest()
        {
            const long length = 123L;
            var builder = new HttpBuilder(new HttpClient());
            builder.Content(new { Name = "Sergej Popov" });
            builder.Headers(headers => headers.ContentLength = length);

            var request = builder.Build(HttpMethod.Options, _uri);

            request.Content.Headers.ContentLength.Should().Be(length);
        }
コード例 #7
0
        public void Build_SetsVersionOnRequest()
        {
            var version = new Version(1, 1);
            var builder = new HttpBuilder(new HttpClient());
            builder.Version(version);

            var request = builder.Build(HttpMethod.Options, _uri);

            request.Version.Should().Be(version);
        }
コード例 #8
0
        public void Build_SetsTimeoutOnClient()
        {
            var timeout = TimeSpan.FromSeconds(15);
            var builder = new HttpBuilder(new HttpClient());
            builder.Timeout(timeout);

            builder.Build(HttpMethod.Head, _uri);

            builder.Client.Timeout.Should().Be(timeout);
        }
コード例 #9
0
        public void Build_Throws_WhenContentNotSet_AndContentHeaderIsSet()
        {
            var builder = new HttpBuilder(new HttpClient());
            builder.Headers(headers => { headers.ContentLanguage.Add("en-GB"); });

            var request = builder.Build(HttpMethod.Options, _uri);
        }
コード例 #10
0
        public void Build_Throws_WhenContentNotSet_AndMimeTypeIsSet()
        {
            var builder = new HttpBuilder(new HttpClient());
            builder.Mime(Mime.ImagePng);

            var request = builder.Build(HttpMethod.Options, _uri);
        }