public static async Task <TChannel> CreateChannel <TChannel>(this IRequestBuilder requestBuilder, ITargetedRestClient client, CancellationToken cancellationToken) where TChannel : IAwareDataChannel { using (var request = requestBuilder.Build()) { return(await client.OpenChannel <TChannel>(request, cancellationToken)); } }
public static async Task <HttpResponseMessage> Execute(this IRequestBuilder requestBuilder, IRestClient client) { using (var request = requestBuilder.Build()) { var response = await(client ?? DefaultClient).SendMessage(request, CancellationToken.None); return(response); } }
private IRequest GetRequest(SkillRequest alexaRequest) { var parser = new HttpRequestParser(); var request = parser.Parse(alexaRequest); var concreteRequest = requestBuilder.Build(request); return(Guard.ExceptionWhenNull(concreteRequest)); }
internal string PrepareOfxRequest(IRequestBuilder authBuilder, AbstractTopLevelMessageSet messageSet) { var authMessage = authBuilder.Build(); var ofxRequest = new OFX { Items = new[] { authMessage, messageSet } }; var content = _serializer.Serialize(ofxRequest); return(content); }
public async void PullValue() { var client = new WebClient { Encoding = Encoding.UTF8 }; var request = builder.Build(); var responce = await client.UploadStringTaskAsync(Url, request); Updated(parser.ParseBalance(responce)); }
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 static async Task <HttpResponseMessage> SendAsync(IRequestBuilder requestBuilder, HttpClient client, CancellationToken cancellationToken = default) { if (requestBuilder == null) { throw new ArgumentNullException(nameof(requestBuilder)); } if (client == null) { throw new ArgumentNullException(nameof(client)); } using var req = requestBuilder.Build(); return(await client.SendAsync(req, cancellationToken).ConfigureAwait(false)); }
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(); }
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(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(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(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(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(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(); }
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(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(); }
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(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(); }
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(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(); }
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(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(); }
internal static async Task <string> Fetch(this HttpClient client, IRequestBuilder request, CancellationToken ctsToken) { request .WithQueryParameter( ("vercode", "38551987"), ("api", "23"), ("ver", "3.8.55") ); var httpRequestMessage = request.Build(); var res = await client.SendAsync(httpRequestMessage, ctsToken); var raw = await res.Content.ReadAsStringAsync(); var isError = raw.Contains("token error"); if (isError) { Console.WriteLine("Invalid token: " + raw); } return(raw); }
public O Call <I, O>(IRequestBuilder <I, O> buildable) { return(Call(buildable.Build())); }
public async Task ExecuteAsync(string methodName, params object[] parameters) { var request = _requestBuilder.Build(methodName, parameters); await SendRequestAsync(request).ConfigureAwait(false); }
public async Task AddMessageAsync(MessageEntity message) { var endpoint = $"{_resourceUrls.ResourceUrl}/{message.ResourceId}/messages"; var request = _requestBuilder.Build(HttpMethod.Post, endpoint, message); await _client.SendAsync(request); }
public async Task <O> CallAsync <I, O>(IRequestBuilder <I, O> buildable) { return(await CallAsync(buildable.Build()).ConfigureAwait(false)); }
public static async Task <HttpResponseMessage> ExecuteOnChannel(this IRequestBuilder requestBuilder, ITargetedRestClient client, IDataChannel channel) { using (var request = requestBuilder.Build()) return(await client.SendChannelMessage(request, channel, CancellationToken.None)); }