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); }
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; } }
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)); }
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; }