public void Post_request_is_converted_properly()
        {
            var headers = new SDK.Http.HttpHeaders();

            headers.Authorization = new SDK.Http.AuthorizationHeaderValue("Basic", "foobarabc123");

            var request = Substitute.For <SDK.Http.IHttpRequest>();

            request.Method.Returns(SDK.Http.HttpMethod.Post);

            var fakeBody = "{ 'data1': true, 'data2': 'foobar' }";

            request.Body.Returns(fakeBody);
            request.BodyContentType.Returns(string.Empty);
            request.HasBody.Returns(true);

            request.CanonicalUri.Returns(new SDK.Http.CanonicalUri("http://api.foo.bar/v1/baz"));
            request.Headers.Returns(headers);

            var adapter          = new RestSharpAdapter();
            var convertedRequest = adapter.ToRestRequest(this.baseUrl, request);

            convertedRequest.Method.ShouldBe(RestSharp.Method.POST);
            convertedRequest.RequestFormat.ShouldBe(RestSharp.DataFormat.Json);
            convertedRequest.Resource.ShouldBe("/baz");

            convertedRequest.Parameters.ShouldContain(p =>
                                                      p.Type == RestSharp.ParameterType.HttpHeader &&
                                                      p.Name == "Authorization" &&
                                                      (string)p.Value == "Basic foobarabc123");

            convertedRequest.Parameters.ShouldContain(p =>
                                                      p.Type == RestSharp.ParameterType.RequestBody &&
                                                      (string)p.Value == fakeBody);
        }
        public void Post_request_is_converted_properly()
        {
            var headers = new SDK.Http.HttpHeaders();
            headers.Authorization = new SDK.Http.AuthorizationHeaderValue("Basic", "foobarabc123");

            var request = Substitute.For<SDK.Http.IHttpRequest>();
            request.Method.Returns(SDK.Http.HttpMethod.Post);

            var fakeBody = "{ 'data1': true, 'data2': 'foobar' }";
            request.Body.Returns(fakeBody);
            request.BodyContentType.Returns(string.Empty);
            request.HasBody.Returns(true);

            request.CanonicalUri.Returns(new SDK.Http.CanonicalUri("http://api.foo.bar/v1/baz"));
            request.Headers.Returns(headers);

            var adapter = new RestSharpAdapter();
            var convertedRequest = adapter.ToRestRequest(this.baseUrl, request);

            convertedRequest.Method.ShouldBe(RestSharp.Method.POST);
            convertedRequest.RequestFormat.ShouldBe(RestSharp.DataFormat.Json);
            convertedRequest.Resource.ShouldBe("/baz");

            convertedRequest.Parameters.ShouldContain(p =>
                p.Type == RestSharp.ParameterType.HttpHeader &&
                p.Name == "Authorization" &&
                (string)p.Value == "Basic foobarabc123");

            convertedRequest.Parameters.ShouldContain(p =>
                p.Type == RestSharp.ParameterType.RequestBody &&
                (string)p.Value == fakeBody);
        }
Exemplo n.º 3
0
        private SDK.Http.HttpHeaders ToHttpHeaders(IList <RestSharp.Parameter> restSharpHeaders)
        {
            var result = new SDK.Http.HttpHeaders();

            foreach (var header in restSharpHeaders.Where(x => x.Type == RestSharp.ParameterType.HttpHeader))
            {
                result.Add(header.Name, header.Value);
            }

            return(result);
        }
Exemplo n.º 4
0
        private void CopyHeaders(SDK.Http.HttpHeaders httpHeaders, RestSharp.IRestRequest restRequest)
        {
            if (httpHeaders == null)
            {
                return;
            }

            foreach (var header in httpHeaders)
            {
                foreach (var value in header.Value)
                {
                    restRequest.AddHeader(header.Key, value);
                }
            }
        }
        private SDK.Http.HttpHeaders ToHttpHeaders(IList<RestSharp.Parameter> restSharpHeaders)
        {
            var result = new SDK.Http.HttpHeaders();

            foreach (var header in restSharpHeaders.Where(x => x.Type == RestSharp.ParameterType.HttpHeader))
            {
                result.Add(header.Name, header.Value);
            }

            return result;
        }