Exemplo n.º 1
0
        private void SendSMS()
        {
            var requestBody = new
            {
                text = "hello world",
                from = new { phoneNumber = Config.Instance.Username },
                to   = new object[] { new { phoneNumber = Config.Instance.Receiver } }
            };
            var request = new Http.Request("/restapi/v1.0/account/~/extension/~/sms", JsonConvert.SerializeObject(requestBody));

            sdk.Platform.Post(request);
        }
Exemplo n.º 2
0
        public void ReceiveResponseAsync(Http.Request request)
        {
            if (!IsConnected)
            {
                throw new HttpConnectionException("A network connection is not established.");
            }

            long bytesReceived = 0;

            Tcp.TcpConnection.ProgressDelegate onProgress;
            ResponseBuilder.AsyncCallback      callback;

            if (_responseBuilder == null)
            {
                _responseBuilder = new ResponseBuilder(request);
            }


            onProgress = delegate(Tcp.TcpConnection sender, Tcp.DirectionType direction, int packetSize)
            {
                bytesReceived += packetSize;
                Logger.Network.Debug("HttpConnection ID: " + this.GetHashCode().ToString() +
                                     "\r\nTcpConnection ID: " + _tcpConnection.GetHashCode().ToString() +
                                     "\r\nBytes Received: " + bytesReceived.ToString() +
                                     "\r\nResponse Size: " + _responseBuilder.MessageSize.ToString() +
                                     "\r\nPacket Size: " + packetSize.ToString() +
                                     "\r\nHttpConnection reporting progress receiving from remote host.");
                if (OnProgress != null)
                {
                    OnProgress(this, direction, packetSize, 100, ((decimal)bytesReceived / (decimal)_responseBuilder.MessageSize));
                }
            };

            _tcpConnection.OnProgress += onProgress;
            _tcpConnection.OnError    += new Tcp.TcpConnection.ErrorDelegate(ReceiveResponseAsync_OnError);
            _tcpConnection.OnTimeout  += new Tcp.TcpConnection.ConnectionDelegate(ReceiveResponseAsync_OnTimeout);

            callback = delegate(MessageBuilder sender, Message.Base message)
            {
                Logger.Network.Debug("HttpConnection ID: " + this.GetHashCode().ToString() + "\r\nTcpConnection ID: " + _tcpConnection.GetHashCode().ToString() + "\r\nHttpConnection receiving data from remote host completed.");
                if (OnComplete != null)
                {
                    OnComplete(this, (Response)message);
                }
            };

            Logger.Network.Debug("HttpConnection ID: " + this.GetHashCode().ToString() + "\r\nTcpConnection ID: " + _tcpConnection.GetHashCode().ToString() + "\r\nHttpConnection beginning receiving of data from remote host.");
            _responseBuilder.ParseAndAttachToBody(_tcpConnection, callback);
        }
 public void NotFound()
 {
     // correct url should be: "/restapi/v1.0/account/~/extension/~/sms"
     var request = new Http.Request("/account/~/extension/~/sms", "{\"hello\": \"world\"}");
     try
     {
         var response = sdk.Platform.Post(request);
     }
     catch (ApiException ae)
     {
         Assert.AreEqual(404, ae.Response.Status);
         Assert.AreEqual("/account/~/extension/~/sms", ae.Response.Request.RequestUri.AbsolutePath);
         throw ae;
     }
 }
Exemplo n.º 4
0
        public async Task Basics()
        {
            var mockTransport = new MockTransport(
                new MockResponse(500),
                new MockResponse(1));

            var pipeline = new HttpPipeline(mockTransport, new[] {
                new RetryPolicy(RetryMode.Exponential, TimeSpan.Zero, TimeSpan.Zero, 5)
            }, responseClassifier: new CustomResponseClassifier());

            Http.Request request = pipeline.CreateRequest();
            request.SetRequestLine(RequestMethod.Get, new Uri("https://contoso.a.io"));
            Response response = await pipeline.SendRequestAsync(request, CancellationToken.None);

            Assert.AreEqual(1, response.Status);
        }
        public void NotFound()
        {
            // correct url should be: "/restapi/v1.0/account/~/extension/~/sms"
            var request = new Http.Request("/account/~/extension/~/sms", "{\"hello\": \"world\"}");

            try
            {
                var response = sdk.Platform.Post(request);
            }
            catch (ApiException ae)
            {
                Assert.AreEqual(404, ae.Response.Status);
                Assert.AreEqual("/account/~/extension/~/sms", ae.Response.Request.RequestUri.AbsolutePath);
                throw ae;
            }
        }
 public Http.Response Request(Http.Request request)
 {
     request.SetKey(ApiKey);
     Http.Response response;
     try
     {
         response = HttpClient.MakeRequest(request);
     }
     catch (Exception clientException)
     {
         throw new Exceptions.APIConnectionException(
                   "Connection Error: " + request.ConstructUrl( ),
                   clientException
                   );
     }
     return(ProcessResponse(response));
 }
Exemplo n.º 7
0
        public async Task HelloWorld()
        {
            var pipeline = new HttpPipeline(new HttpClientTransport());

            Http.Request request = pipeline.CreateRequest();

            var uri = new Uri(@"https://raw.githubusercontent.com/Azure/azure-sdk-for-net/master/README.md");

            request.SetRequestLine(RequestMethod.Get, uri);
            request.Headers.Add("Host", uri.Host);

            Response response = await pipeline.SendRequestAsync(request, cancellationToken : default).ConfigureAwait(false);

            if (response.Status == 200)
            {
                var reader = new StreamReader(response.ContentStream);
                _ = reader.ReadToEnd();
            }
            else
            {
                throw await response.CreateRequestFailedExceptionAsync();
            }
        }
 public ResponseBuilder(Http.Request request)
 {
     Request            = request;
     AllHeadersReceived = false;
     MessageSize        = -1;
 }