Exemple #1
0
 public PutAPI(String region,
               String accessID,
               String secretKey,
               String streamName,
               RequestCompletedDelegate requestCompleted)
     : base(region, accessID, secretKey, streamName, requestCompleted)
 {
 }
Exemple #2
0
 protected BaseKinesisAPI(String region, String accessID, String secretKey, String streamName, RequestCompletedDelegate requestCompleted)
 {
     Region           = region;
     AccessID         = accessID;
     SecretKey        = secretKey;
     StreamName       = streamName;
     EndPointUri      = new Uri($"https://kinesis.{Region}.amazonaws.com");
     RequestCompleted = requestCompleted;
 }
        public void SaveScreenAsync(int ReferenceId, string Url, RequestCompletedDelegate <CreateScreenResponse> callback)
        {
            WebServices <CreateScreenRequest, CreateScreenResponse> ws = new WebServices <CreateScreenRequest, CreateScreenResponse>();
            var request = new CreateScreenRequest()
            {
                ReferenceId = ReferenceId, Url = Url
            };

            ws.MakeRequestAsync(BaseURL + "/" + Urls.CreateScreen, request, callback);
        }
Exemple #4
0
        public void MakeRequestAsync(string url, TRequest requestObject, RequestCompletedDelegate <TResponse> callback)
        {
            TResponse toReturn = new TResponse();

            try
            {
                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
                request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
                request.Method      = "POST";
                request.ContentType = "application/json";

                string postData = requestObject.ToJSON();

                byte[] byteData = System.Text.UTF8Encoding.UTF8.GetBytes(postData);

                request.ContentLength = byteData.Length;


                var wrapper = new AsyncWrapper <TResponse>();
                wrapper.Request  = request;
                wrapper.Callback = callback;
                wrapper.PostData = byteData;

                var result = request.BeginGetRequestStream(GetRequestStreamResponse, wrapper);

                ThreadPool.RegisterWaitForSingleObject(result.AsyncWaitHandle, new WaitOrTimerCallback(TimeoutCallback), wrapper, Timeout, true);
            }
            catch (WebException ex)
            {
                toReturn.ErrorCode = ErrorCodes.InternetConnection;
                toReturn.Message   = "Exception: " + ex.Message;
                toReturn.Success   = false;
                callback(toReturn);
            }
            catch (Exception ex)
            {
                // TODO: log the exception
                toReturn.ErrorCode = ErrorCodes.WebServiceCall;
                toReturn.Message   = "Exception: " + ex.Message;
                toReturn.Success   = false;
                callback(toReturn);
            }
        }
 public void SaveScreenAsync(int ReferenceId, string Url, RequestCompletedDelegate<CreateScreenResponse> callback)
 {
     WebServices<CreateScreenRequest, CreateScreenResponse> ws = new WebServices<CreateScreenRequest, CreateScreenResponse>();
     var request = new CreateScreenRequest() { ReferenceId = ReferenceId, Url = Url };
     ws.MakeRequestAsync(BaseURL + "/" + Urls.CreateScreen, request,callback);
 }