public void Execute(CreateTagRequest request, Action<CreateTagResponse> responseCallback, Action<Exception> exceptionCallback)
 {
     var webRequest = RequestBuilder.Build("https://go.urbanairship.com/api/tags/" + request.Tag);
     webRequest.Method = "PUT";
     var asyncRequest = new AsyncRequest
     {
         Request = webRequest,
         ReadFromResponse = o => responseCallback(new CreateTagResponse()),
         ExceptionCallback = exceptionCallback,
     };
     asyncRequest.Execute();
 }
 public void Execute(DeleteTagRequest request, Action<DeleteTagResponse> responseCallback, Action<Exception> exceptionCallback)
 {
     var webRequest = RequestBuilder.Build("https://go.urbanairship.com/api/tags/" + request.Tag);
     webRequest.Method = "DELETE";
     var asyncRequest = new AsyncRequest
     {
         Request = webRequest,
         ReadFromResponse = o => responseCallback(new DeleteTagResponse()),
         ExceptionCallback = exceptionCallback,
         RequestContentType = "application/json"
     };
     asyncRequest.Execute();
 }
 public void Execute(AddRegistrationRequest registrationRequest, Action<AddRegistrationResponse> responseCallback, Action<Exception> exceptionCallback)
 {
     var request = RequestBuilder.Build("https://go.urbanairship.com/api/apids/" + registrationRequest.PushId);
     request.Method = "PUT";
     var asyncRequest = new AsyncRequest
         {
             Request = request,
             ReadFromResponse = o => responseCallback(new AddRegistrationResponse()),
             ExceptionCallback = exceptionCallback,
             WriteToRequest = stream => stream.WriteToStream(registrationRequest.Serialize),
             RequestContentType = "application/json"
         };
     asyncRequest.Execute();
 }
        public void Execute(GetRegistrationRequest request, Action<GetRegistrationResponse> responseCallback, Action<Exception> exceptionCallback)
        {
            var webRequest = RequestBuilder.Build("https://go.urbanairship.com/api/apids/" + request.PushId);
            webRequest.Method = "Get";
            webRequest.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
            {
                Request = webRequest,
                ReadFromResponse = stream => responseCallback(GetRegistrationResponseDeSerializer.DeSerialize(stream)),
                ExceptionCallback = exceptionCallback,
            };
            asyncRequest.Execute();
        }
        public void Execute(Action<GetTagsResponse> responseCallback, Action<Exception> exceptionCallback)
        {
            var request = RequestBuilder.Build("https://go.urbanairship.com/api/tags/");
            request.Method = "GET";
            request.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
                                   {
                                       ReadFromResponse = stream => responseCallback(new GetTagsResponse { Tags = TagDeSerializer.DeSerialize(stream).ToList() }),
                                       Request = request,
                                       ExceptionCallback = exceptionCallback,
                                   };
            asyncRequest.Execute();
        }
        public void Execute(AddTagToDeviceRequest request, Action<AddTagToDeviceResponse> responseCallback, Action<Exception> exceptionCallback)
        {
            var url = string.Format("https://go.urbanairship.com/api/device_tokens/{0}/tags/{1}", request.DeviceToken, request.Tag);
            var webRequest = RequestBuilder.Build(url);
            webRequest.Method = "PUT";

            var asyncRequest = new AsyncRequest
            {
                Request = webRequest,
                ReadFromResponse = o => responseCallback(new AddTagToDeviceResponse()),
                ExceptionCallback = exceptionCallback,
            };
            asyncRequest.Execute();
        }
        public void Execute(CreateTagRequest request, Action <CreateTagResponse> responseCallback, Action <Exception> exceptionCallback)
        {
            var webRequest = RequestBuilder.Build("https://go.urbanairship.com/api/tags/" + request.Tag);

            webRequest.Method = "PUT";
            var asyncRequest = new AsyncRequest
            {
                Request           = webRequest,
                ReadFromResponse  = o => responseCallback(new CreateTagResponse()),
                ExceptionCallback = exceptionCallback,
            };

            asyncRequest.Execute();
        }
        public void Execute(GetTagsForDeviceRequest request, Action<GetTagsForDeviceResponse> responseCallback, Action<Exception> exceptionCallback)
        {
            var webRequest = RequestBuilder.Build(string.Format("https://go.urbanairship.com/api/device_tokens/{0}/tags/", request.DeviceToken));
            webRequest.Method = "GET";

            var asyncRequest = new AsyncRequest
                                   {
                                       ReadFromResponse = stream => responseCallback(new GetTagsForDeviceResponse { Tags = TagDeSerializer.DeSerialize(stream).ToList() }),
                                       Request = webRequest,
                                       ExceptionCallback = exceptionCallback,
                                       RequestContentType = "application/json"
                                   };
            asyncRequest.Execute();
        }
        public void Execute(Action<GetAllFeedsResponse> responseCallback, Action<Exception> exceptionCallback)
        {
            var request = RequestBuilder.Build("https://go.urbanairship.com/api/feeds/");
            request.Method = "Get";
            request.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
            {
                ReadFromResponse = stream => responseCallback(FeedDeSerializer.DeSerializeMultiple(stream)),
                Request = request,
                ExceptionCallback = exceptionCallback,
            };
            asyncRequest.Execute();
        }
        public void Execute(DeleteRegistrationRequest request, Action<DeleteRegistrationResponse> responseCallback, Action<Exception> exceptionCallback)
        {
            var webRequest = RequestBuilder.Build("https://go.urbanairship.com/api/device_tokens/" + request.DeviceToken);
            webRequest.Method = "Delete";
            webRequest.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
            {
                Request = webRequest,
                ReadFromResponse = o => responseCallback(new DeleteRegistrationResponse()),
                ExceptionCallback = exceptionCallback,
            };

            asyncRequest.Execute();
        }
        public void Execute(ModifyTagRequest request, Action<ModifyTagResponse> responseCallback, Action<Exception> exceptionCallback)
        {
            var webRequest = RequestBuilder.Build("https://go.urbanairship.com/api/tags/" + request.Tag);
            webRequest.Method = "POST";

            var asyncRequest = new AsyncRequest
            {
                WriteToRequest = stream => stream.WriteToStream(request.Serialize),
                Request = webRequest,
                ReadFromResponse = o => responseCallback(new ModifyTagResponse()),
                ExceptionCallback = exceptionCallback,
                RequestContentType = "application/json"
            };
            asyncRequest.Execute();
        }
        public void Execute(RemoveTagFromDeviceRequest request, Action<RemoveTagFromDeviceResponse> responseCallback, Action<Exception> exceptionCallback)
        {
            var url = string.Format("https://go.urbanairship.com/api/device_tokens/{0}/tags/{1}", request.DeviceToken, request.TagToRemove);
            var webRequest = RequestBuilder.Build(url);
            webRequest.Method = "DELETE";
            webRequest.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
            {
                Request = webRequest,
                ReadFromResponse = o => responseCallback(new RemoveTagFromDeviceResponse()),
                ExceptionCallback = exceptionCallback,
            };
            asyncRequest.Execute();
        }
        public void Execute(ModifyFeedRequest newFeed, Action<ModifyFeedResponse> responseCallback, Action<Exception> exceptionCallback)
        {
            var webRequest = RequestBuilder.Build("https://go.urbanairship.com/api/feeds/" + newFeed.FeedId);
            webRequest.Method = "PUT";
            webRequest.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
                                   {
                                       WriteToRequest = stream => stream.WriteToStream(newFeed.Serialize),
                                       Request = webRequest,
                                       ReadFromResponse = o => responseCallback(new ModifyFeedResponse()),
                                       ExceptionCallback = exceptionCallback,
                                  };
            asyncRequest.Execute();
        }
        public void Execute(DeleteRegistrationRequest request, Action<DeleteRegistrationResponse> responseCallback, Action<Exception> exceptionCallback)
        {
            //TODO: validate args
            var webRequest = RequestBuilder.Build("https://go.urbanairship.com/api/apids/" + request.PushId);
            webRequest.Method = "Delete";

            var asyncRequest = new AsyncRequest
            {
                Request = webRequest,
                ReadFromResponse = o => responseCallback(new DeleteRegistrationResponse()),
                ExceptionCallback = exceptionCallback,
                RequestContentType = "application/json"
            };
            asyncRequest.Execute();
        }
        public void Execute(GetRegistrationsRequest request, Action<GetRegistrationsResponse> responseCallback, Action<Exception> exceptionCallback)
        {
            var url = string.Format("https://go.urbanairship.com/api/device_tokens/?Limit={0}&start={1}", request.Limit, request.Start);
            var webRequest = RequestBuilder.Build(url);
            webRequest.Method = "GET";
            webRequest.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
                {
                    ReadFromResponse = stream => responseCallback(GetRegistrationsResponseDeSerializer.DeSerialize(stream)),
                    Request = webRequest,
                    ExceptionCallback = exceptionCallback,
                };
            asyncRequest.Execute();
        }
        public void Execute(FeedbackRequest request, Action<FeedbackResponse> responseCallback, Action<Exception> exceptionCallback)
        {
            var url = "https://go.urbanairship.com/api/device_tokens/feedback/?since=" + request.Since.ToIso8601();
            var webRequest = RequestBuilder.Build(url);
            webRequest.Method = "GET";

            var asyncRequest = new AsyncRequest
                {
                    ReadFromResponse = stream => responseCallback(FeedbackResponseDeSerializer.DeSerialize(stream)),
                    Request = webRequest,
                    ExceptionCallback = exceptionCallback,
                    RequestContentType = "application/json"
                };
            asyncRequest.Execute();
        }
Example #17
0
        public void Execute(PushNotificationRequest notification, Action<PushNotificationResponse> responseCallback, Action<Exception> exceptionCallback)
        {
            var request = RequestBuilder.Build("https://go.urbanairship.com/api/push/");
            request.Method = "POST";
            request.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
                {
                    Request = request,
                    ReadFromResponse = o => responseCallback(new PushNotificationResponse()),
                    ExceptionCallback = exceptionCallback,
                    WriteToRequest = stream => stream.WriteToStream(notification.Serialize),
                };
            asyncRequest.Execute();
        }
Example #18
0
        public void Execute(Action <GetAllFeedsResponse> responseCallback, Action <Exception> exceptionCallback)
        {
            var request = RequestBuilder.Build("https://go.urbanairship.com/api/feeds/");

            request.Method      = "Get";
            request.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
            {
                ReadFromResponse  = stream => responseCallback(FeedDeSerializer.DeSerializeMultiple(stream)),
                Request           = request,
                ExceptionCallback = exceptionCallback,
            };

            asyncRequest.Execute();
        }
Example #19
0
        public void Execute(GetFeedRequest request, Action <GetFeedResponse> responseCallback, Action <Exception> exceptionCallback)
        {
            var webRequest = RequestBuilder.Build("https://go.urbanairship.com/api/feeds/" + request.FeedId);

            webRequest.Method      = "Get";
            webRequest.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
            {
                ReadFromResponse  = stream => responseCallback(GetFeedResponseDeSerializer.DeSerialize(stream)),
                Request           = webRequest,
                ExceptionCallback = exceptionCallback,
            };

            asyncRequest.Execute();
        }
Example #20
0
        public void Execute(AddTagToDeviceRequest request, Action <AddTagToDeviceResponse> responseCallback, Action <Exception> exceptionCallback)
        {
            var url        = string.Format("https://go.urbanairship.com/api/device_tokens/{0}/tags/{1}", request.DeviceToken, request.Tag);
            var webRequest = RequestBuilder.Build(url);

            webRequest.Method = "PUT";

            var asyncRequest = new AsyncRequest
            {
                Request           = webRequest,
                ReadFromResponse  = o => responseCallback(new AddTagToDeviceResponse()),
                ExceptionCallback = exceptionCallback,
            };

            asyncRequest.Execute();
        }
        public void Execute(BroadcastNotificationRequest request, Action<BroadcastNotificationResponse> responseCallback, Action<Exception> exceptionCallback)
        {
            var webRequest = RequestBuilder.Build("https://go.urbanairship.com/api/push/broadcast/");
            webRequest.Method = "POST";
            webRequest.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
                                   {
                                       WriteToRequest = stream => stream.WriteToStream(request.Serialize),
                                       Request = webRequest,
                                       ReadFromResponse = o => responseCallback(new BroadcastNotificationResponse()),
                                       ExceptionCallback = exceptionCallback,
                                   };

            asyncRequest.Execute();
        }
        public void Execute(DeleteFeedRequest request, Action <DeleteFeedResponse> responseCallback, Action <Exception> exceptionCallback)
        {
            var webRequest = RequestBuilder.Build("https://go.urbanairship.com/api/feeds/" + request.FeedId);

            webRequest.Method      = "DELETE";
            webRequest.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
            {
                Request           = webRequest,
                ReadFromResponse  = o => responseCallback(new DeleteFeedResponse()),
                ExceptionCallback = exceptionCallback,
            };

            asyncRequest.Execute();
        }
        public void Execute(CreateFeedRequest request, Action<CreateFeedResponse> responseCallback, Action<Exception> exceptionCallback)
        {
            var webRequest = RequestBuilder.Build("https://go.urbanairship.com/api/feeds/");
            webRequest.Method = "POST";
            webRequest.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
                                   {
                                       WriteToRequest = stream => stream.WriteToStream(request.Serialize),
                                       Request = webRequest,
                                       ReadFromResponse = stream => responseCallback(CreateFeedResponseDeSerializer.DeSerialize(stream)),
                                       ExceptionCallback = exceptionCallback,
                                   };

            asyncRequest.Execute();
        }
        public void Execute(DeleteRegistrationRequest request, Action <DeleteRegistrationResponse> responseCallback, Action <Exception> exceptionCallback)
        {
            var webRequest = RequestBuilder.Build("https://go.urbanairship.com/api/device_tokens/" + request.DeviceToken);

            webRequest.Method      = "Delete";
            webRequest.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
            {
                Request           = webRequest,
                ReadFromResponse  = o => responseCallback(new DeleteRegistrationResponse()),
                ExceptionCallback = exceptionCallback,
            };

            asyncRequest.Execute();
        }
        public void Execute(BroadcastNotificationRequest request, Action<BroadcastNotificationResponse> responseCallback, Action<Exception> exceptionCallback)
        {
            var webRequest = RequestBuilder.Build("https://go.urbanairship.com/api/push/broadcast/");
            webRequest.Method = "POST";
            webRequest.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
                                   {
                                       WriteToRequest = stream => stream.WriteToStream(request.Serialize),
                                       Request = webRequest,
                                       ReadFromResponse = o => responseCallback(new BroadcastNotificationResponse()),
                                       ExceptionCallback = exceptionCallback,
                                   };

            asyncRequest.Execute();
        }
Example #26
0
        public void Execute(AddRegistrationRequest request, Action <AddRegistrationResponse> responseCallback, Action <Exception> exceptionCallback)
        {
            var webRequest = RequestBuilder.Build("https://go.urbanairship.com/api/device_tokens/" + request.DeviceToken);

            webRequest.Method      = "PUT";
            webRequest.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
            {
                WriteToRequest    = stream => stream.WriteToStream(request.Serialize),
                Request           = webRequest,
                ReadFromResponse  = o => responseCallback(new AddRegistrationResponse()),
                ExceptionCallback = exceptionCallback,
            };

            asyncRequest.Execute();
        }
Example #27
0
        public void Execute(RemoveTagFromDeviceRequest request, Action <RemoveTagFromDeviceResponse> responseCallback, Action <Exception> exceptionCallback)
        {
            var url        = string.Format("https://go.urbanairship.com/api/device_tokens/{0}/tags/{1}", request.DeviceToken, request.TagToRemove);
            var webRequest = RequestBuilder.Build(url);

            webRequest.Method      = "DELETE";
            webRequest.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
            {
                Request           = webRequest,
                ReadFromResponse  = o => responseCallback(new RemoveTagFromDeviceResponse()),
                ExceptionCallback = exceptionCallback,
            };

            asyncRequest.Execute();
        }
Example #28
0
        public void Execute(FeedbackRequest request, Action <FeedbackResponse> responseCallback, Action <Exception> exceptionCallback)
        {
            var url        = "https://go.urbanairship.com/api/device_tokens/feedback/?since=" + request.Since.ToIso8601();
            var webRequest = RequestBuilder.Build(url);

            webRequest.Method      = "GET";
            webRequest.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
            {
                ReadFromResponse  = stream => responseCallback(FeedbackResponseDeSerializer.DeSerialize(stream)),
                Request           = webRequest,
                ExceptionCallback = exceptionCallback,
            };

            asyncRequest.Execute();
        }
Example #29
0
        public void Execute(GetRegistrationsRequest request, Action <GetRegistrationsResponse> responseCallback, Action <Exception> exceptionCallback)
        {
            var url        = string.Format("https://go.urbanairship.com/api/device_tokens/?Limit={0}&start={1}", request.Limit, request.Start);
            var webRequest = RequestBuilder.Build(url);

            webRequest.Method      = "GET";
            webRequest.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
            {
                ReadFromResponse  = stream => responseCallback(GetRegistrationsResponseDeSerializer.DeSerialize(stream)),
                Request           = webRequest,
                ExceptionCallback = exceptionCallback,
            };

            asyncRequest.Execute();
        }
        public void Execute(ModifyFeedRequest newFeed, Action <ModifyFeedResponse> responseCallback, Action <Exception> exceptionCallback)
        {
            var webRequest = RequestBuilder.Build("https://go.urbanairship.com/api/feeds/" + newFeed.FeedId);

            webRequest.Method      = "PUT";
            webRequest.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
            {
                WriteToRequest    = stream => stream.WriteToStream(newFeed.Serialize),
                Request           = webRequest,
                ReadFromResponse  = o => responseCallback(new ModifyFeedResponse()),
                ExceptionCallback = exceptionCallback,
            };

            asyncRequest.Execute();
        }
Example #31
0
        public void Execute(PushNotificationRequest request, Action<PushNotificationResponse> responseCallback, Action<Exception> exceptionCallback)
        {
            var webRequest = RequestBuilder.Build("https://go.urbanairship.com/api/push/");
            webRequest.Method = "POST";
            webRequest.ContentType = "application/json";
            //TODO: must have tags or tokens... validate

            var asyncRequest = new AsyncRequest
                                   {
                                       WriteToRequest = stream => stream.WriteToStream(request.Serialize),
                                       Request = webRequest,
                                       ReadFromResponse = o => responseCallback(new PushNotificationResponse()),
                                       ExceptionCallback = exceptionCallback,
                                   };

            asyncRequest.Execute();
        }
        public void Execute(CreateFeedRequest request, Action <CreateFeedResponse> responseCallback, Action <Exception> exceptionCallback)
        {
            var webRequest = RequestBuilder.Build("https://go.urbanairship.com/api/feeds/");

            webRequest.Method      = "POST";
            webRequest.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
            {
                WriteToRequest    = stream => stream.WriteToStream(request.Serialize),
                Request           = webRequest,
                ReadFromResponse  = stream => responseCallback(CreateFeedResponseDeSerializer.DeSerialize(stream)),
                ExceptionCallback = exceptionCallback,
            };

            asyncRequest.Execute();
        }
Example #33
0
        public void Execute(PushNotificationRequest notification, Action <PushNotificationResponse> responseCallback, Action <Exception> exceptionCallback)
        {
            var request = RequestBuilder.Build("https://go.urbanairship.com/api/push/");

            request.Method      = "POST";
            request.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
            {
                Request           = request,
                ReadFromResponse  = o => responseCallback(new PushNotificationResponse()),
                ExceptionCallback = exceptionCallback,
                WriteToRequest    = stream => stream.WriteToStream(notification.Serialize),
            };

            asyncRequest.Execute();
        }
Example #34
0
        public void Execute(GetTagsForDeviceRequest request, Action <GetTagsForDeviceResponse> responseCallback, Action <Exception> exceptionCallback)
        {
            var webRequest = RequestBuilder.Build(string.Format("https://go.urbanairship.com/api/device_tokens/{0}/tags/", request.DeviceToken));

            webRequest.Method      = "GET";
            webRequest.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
            {
                ReadFromResponse = stream => responseCallback(new GetTagsForDeviceResponse {
                    Tags = TagDeSerializer.DeSerialize(stream).ToList()
                }),
                Request           = webRequest,
                ExceptionCallback = exceptionCallback,
            };

            asyncRequest.Execute();
        }
Example #35
0
        public void Execute(Action <GetTagsResponse> responseCallback, Action <Exception> exceptionCallback)
        {
            var request = RequestBuilder.Build("https://go.urbanairship.com/api/tags/");

            request.Method      = "GET";
            request.ContentType = "application/json";

            var asyncRequest = new AsyncRequest
            {
                ReadFromResponse = stream => responseCallback(new GetTagsResponse {
                    Tags = TagDeSerializer.DeSerialize(stream).ToList()
                }),
                Request           = request,
                ExceptionCallback = exceptionCallback,
            };

            asyncRequest.Execute();
        }
Example #36
0
        public void Execute(PushNotificationRequest request, Action <PushNotificationResponse> responseCallback, Action <Exception> exceptionCallback)
        {
            var webRequest = RequestBuilder.Build("https://go.urbanairship.com/api/push/");

            webRequest.Method      = "POST";
            webRequest.ContentType = "application/json";
            //TODO: must have tags or tokens... validate

            var asyncRequest = new AsyncRequest
            {
                WriteToRequest    = stream => stream.WriteToStream(request.Serialize),
                Request           = webRequest,
                ReadFromResponse  = o => responseCallback(new PushNotificationResponse()),
                ExceptionCallback = exceptionCallback,
            };

            asyncRequest.Execute();
        }