/// <summary> /// Sets query parameters in the given builder with all all properties with the /// <seealso cref="Google.Apis.Util.RequestParameterAttribute"/> attribute. /// </summary> /// <param name="builder">The request builder</param> /// <param name="request"> /// A request object which contains properties with /// <seealso cref="Google.Apis.Util.RequestParameterAttribute"/> attribute. Those properties will be set in the /// given request builder object /// </param> public static void InitParameters(RequestBuilder builder, object request) { IterateParameters(request, (type, name, value) => { builder.AddParameter(type, name, value.ToString()); }); }
public ActionResult NewRequest() { RequestBuilder builder = new RequestBuilder(); EOfficeDirector<Request> director = new EOfficeDirector<Request>(); Request form = director.Construct(builder); return View(form); }
public override void Update() { DB db = new DB("travox_global"); RequestBuilder doExchange = new RequestBuilder("127.0.0.1:3000/API-v3/exchange-rate/"); doExchange.By = RequestBuilder.Method.POST; doExchange.ContentType = "application/x-www-form-urlencoded"; doExchange.AddHeader("Token-Auth", "ZHNnc2RmaCxrZXIgbmFsZ25zIGRmZ2RzZmc"); doExchange.AddBody("from", db.GetField("SELECT ISNULL(currency,'') FROM currency FOR XML PATH('')")); doExchange.AddBody("to", "THB"); doExchange.AddBody("amt", "1"); XHR rate = new XHR().AsyncSend(doExchange).Wait(); try { foreach (RateAPI item in JsonConvert.DeserializeObject<List<RateAPI>>(rate.ToString())) { SQLCollection param = new SQLCollection(); param.Add("@to", DbType.String, item.currency); param.Add("@rate", DbType.Decimal, item.rate); param.Add("@date", DbType.DateTime, DateTime.Parse(item.updated).ToString("dd-MM-yyyy HH:mm:ss")); db.Execute("UPDATE currency SET currency_rate=@rate, last_update=@date WHERE currency = @to", param); } db.Apply(); } catch (Exception e) { db.Rollback(); throw e; } base.Update(); }
public static void GetFriends(Action<List<User>> getFriendsAction, Action<Error> errorAction) { var requestBuilder = new RequestBuilder(Context); requestBuilder.SetMethod("friends.get"); requestBuilder.AddParam("uid", Context.CurrentUserId); requestBuilder.SendRequest<GetFriends>( getFriendsResponse => GetProfiles(getFriendsResponse.Result, getFriendsAction, errorAction), errorAction); }
public static void GetMessages(Action<List<Message>> getMessagesAction, Action<Error> errorAction) { var requestBuilder = new RequestBuilder(Context); requestBuilder.SetMethod("messages.getDialogs"); requestBuilder.AddParam("count", "100"); requestBuilder.SendRequest<GetMessages>( getMessagesResult => getMessagesAction.Invoke(getMessagesResult.Messages.ToList().GetMessageItems()), errorAction); }
public static void SendMessage(string uid, string textmessage, Action sendMessageCompleteAction, Action<Error> errorAction) { var requestBuilder = new RequestBuilder(Context); requestBuilder.SetMethod("messages.send"); requestBuilder.AddParam("uid", uid); requestBuilder.AddParam("message", textmessage); requestBuilder.SendRequest<SendMessageResult>(result => sendMessageCompleteAction.Invoke(), errorAction); }
public static void GetMessageConversation(string uid, Action<List<Message>> getMessagesAction, Action<Error> errorAction) { var requestBuilder = new RequestBuilder(Context); requestBuilder.SetMethod("messages.getHistory"); requestBuilder.AddParam("uid", uid); requestBuilder.SendRequest<GetMessagesHistory>( getMessagesResult => getMessagesAction.Invoke(getMessagesResult.Messages.ToList().GetMessageItems(Context.CurrentUserId)), errorAction); }
protected virtual RequestBuilder BuildRequest(string root) { var builder = new RequestBuilder(root); if (CustomerId != null) builder.AddElement("customer-id", CustomerId); if (Version != 0) builder.AddElement("version", Version); if (MerchantAccountId != null) builder.AddElement("merchant-account-id", MerchantAccountId); if (Options != null) builder.AddElement("options", Options); return builder; }
protected virtual RequestBuilder BuildRequest(string root) { var builder = new RequestBuilder(root); if (Amount != 0) builder.AddElement("amount", Amount); builder.AddElement("order-id", OrderId); return builder; }
private static HttpWebRequest GetTimelineRequest(AuthenticationContext authenticationContext, string screenName) { var requestBuilder = new RequestBuilder(authenticationContext); var requestParameters = new TimelineRequestParameters(authenticationContext) { ScreenName = screenName, Count = "10", }; return requestBuilder.GetRequest(requestParameters); }
protected virtual RequestBuilder BuildRequest(string root) { var builder = new RequestBuilder(root); if (Amount != 0) builder.AddElement("amount", Amount); builder.AddElement("subscription-id", SubscriptionId); builder.AddElement("type", TransactionType.SALE.ToString().ToLower()); return builder; }
/// <summary> /// Получает данные LongPollServer'a /// </summary> /// <param name="accessToken">Token</param> /// <returns>Возвращает объект LongPollServer'a</returns> public ILongPollServer Get(string accessToken) { var urlBuilder = new ApiBuilder(MessagesMethods.MessagesGetLongPollServer, ApiSettings, accessToken); var url = urlBuilder.GenerateUrl(); var requestBuilder = new RequestBuilder<LongPollServer>("response", false); var response = requestBuilder.GetResponse(url); Exception = requestBuilder.Exception; return response; }
public static void GetProfiles(string[] profileUids, Action<List<User>> getProfilesAction, Action<Error> errorAction) { var requestBuilder = new RequestBuilder(Context); requestBuilder.SetMethod("getProfiles"); requestBuilder.AddParam("uids", String.Join(",", profileUids)); requestBuilder.AddParam("fields", "uid, first_name, last_name, nickname, domain, sex, " + "bdate, city, country, timezone, photo, photo_medium, " + "photo_big, has_mobile, rate, contacts, education, online"); requestBuilder.SendRequest<GetProfiles>( getProfilesResponse => getProfilesAction.Invoke(getProfilesResponse.Result.GetUserItems()), errorAction); }
/// <summary> /// Отправляет сообщение пользователю /// </summary> /// <param name="userId">Id пользователя вконтакте</param> /// <param name="accessToken">Token</param> /// <param name="message">Текст сообщения</param> /// <returns>Возвращает id сообщения</returns> public int Send(int userId, string accessToken, string message) { var urlBulider = new ApiBuilder(MessagesMethods.MessagesSend, ApiSettings, accessToken); var url = urlBulider.GenerateUrl( MessagesSendParameters.Instance.UserId(userId), MessagesSendParameters.Instance.Message(message) ); var requestBuilder = new RequestBuilder<int>("response", false); var response = requestBuilder.GetResponse(url); Exception = requestBuilder.Exception; return response; }
/// <summary> /// Получает список id пользователей, которые онлайн /// </summary> /// <param name="userId">Id авторизованного пользователя</param> /// <param name="accessToken">Token</param> /// <returns>Возвращает список id пользователей, которые онлайн. Пустой список, если ошибка</returns> public List<int> Get(int userId, string accessToken) { var urlBuilder = new ApiBuilder(FriendsMethods.FriendsGetOnline, ApiSettings, accessToken); var url = urlBuilder.GenerateUrl( FriendsGetOnlineParameters.Instance.UserId(userId) ); var requestBuilder = new RequestBuilder<int>("response", false); var response = requestBuilder.GetResponseArray(url); Exception = requestBuilder.Exception; return response; }
/// <summary> /// Помечает сообщения как прочитанные /// </summary> /// <param name="friendId">Идентификатор отправителя сообщения</param> /// <param name="accessToken">Token</param> /// <param name="messageIds">Идентификаторы непрочитанных сообщений</param> public int MarkAsRead(int friendId, string accessToken, IEnumerable<int> messageIds) { var urlBulider = new ApiBuilder(MessagesMethods.MessagesMarkAsRead, ApiSettings, accessToken); var url = urlBulider.GenerateUrl( MessagesMarkAsReadParameters.Instance.UserId(friendId), MessagesMarkAsReadParameters.Instance.MessageIds(messageIds) ); var requestBuilder = new RequestBuilder<int>("response", false); var response = requestBuilder.GetResponse(url); Exception = requestBuilder.Exception; return response; }
/// <summary> /// Возвращает информацию о пользователе /// </summary> /// <param name="userName">Имя пользователя</param> /// <returns>Возвращает информацию о пользователе</returns> public IUserInfo Get(string userName) { var urlBuilder = new OpenApiBuilder(UsersMethods.UsersGet, ApiSettings); var url = urlBuilder.GenerateUrl( UsersGetParameters.Instance.UserIds(new List<string> {userName}), UsersGetParameters.Instance.Fields(new List<string> { UserFields.Photo50 })); var requestBuilder = new RequestBuilder<UserInfo>("response", false); var response = requestBuilder.GetResponseArray(url).FirstOrDefault(); return response; }
/// <summary> /// Получает список уведомлений /// </summary> /// <param name="longPollServer">Данные LongPollServer</param> public ILongPollServerUpdates GetUpdates(ILongPollServer longPollServer) { if (longPollServer != null) { var url = string.Format("http://{0}?act=a_check&key={1}&ts={2}&wait=25", longPollServer.Server, longPollServer.Key, longPollServer.Ts); var requestBuilder = new RequestBuilder<LongPollServerResult>(null, false); var response = requestBuilder.GetResponse(url); Exception = requestBuilder.Exception; Ts = response.Ts; return LongPollServerResultParser.Parse(response); } return null; }
/// <summary> /// Получае последние сообщения /// </summary> /// <param name="accessToken">Token</param> /// <param name="count">Количество последних сообщений</param> public IEnumerable<IDialogMessage> GetLast(string accessToken, int count = 20) { var urlBuilder = new ApiBuilder(MessagesMethods.MessagesGet, ApiSettings, accessToken); var url = urlBuilder.GenerateUrl( MessagesGetParameters.Instance.Count(count) ); var requestBuilder = new RequestBuilder<Message>("items"); var response = requestBuilder.GetResponseArray(url); Exception = requestBuilder.Exception; foreach (var message in response) message.VkUserId = _vkUserId; return response.Cast<IDialogMessage>().OrderBy(x => x.Date).ToList(); }
public override string ToQueryString(string root) { var builder = new RequestBuilder("user"); builder.AddElement("country", Country); builder.AddElement("email", Email); builder.AddElement("first_name", FirstName); builder.AddElement("last_name", LastName); builder.AddElement("phone", Phone); builder.AddElement("dob_year", DobYear); builder.AddElement("dob_month", DobMonth); builder.AddElement("dob_day", DobDay); builder.AddElement("street_address", StreetAddress); builder.AddElement("locality", Locality); builder.AddElement("region", Region); builder.AddElement("postal_code", PostalCode); return builder.ToQueryString(); }
public override string ToQueryString() { var builder = new RequestBuilder(); builder.AddTopLevelElement("merchant_id", MerchantId); builder.AddTopLevelElement("redirect_uri", RedirectUri); builder.AddTopLevelElement("scope", Scope); builder.AddTopLevelElement("state", State); builder.AddTopLevelElement("landing_page", LandingPage); builder.AddTopLevelElement("client_id", ClientId); foreach (var paymentMethod in PaymentMethods) { builder.AddTopLevelElement("payment_methods[]", paymentMethod); } builder.AddElement("user", User); builder.AddElement("business", Business); return builder.ToQueryString(); }
public virtual RequestBuilder BuildRequest(string root) { var builder = new RequestBuilder(root); builder.AddElement("billing-day-of-month", BillingDayOfMonth); builder.AddElement("billing-frequency", BillingFrequency); builder.AddElement("currency-iso-code", CurrencyIsoCode); builder.AddElement("description", Description); builder.AddElement("id", Id); builder.AddElement("name", Name); builder.AddElement("number-of-billing-cycles", NumberOfBillingCycles); builder.AddElement("price", Price); builder.AddElement("trial-period", TrialPeriod); builder.AddElement("trial-duration", TrialDuration); builder.AddElement("trial-duration-unit", TrialDurationUnit); builder.AddElement("add-ons", AddOns); builder.AddElement("discounts", Discounts); return builder; }
public HttpResponseMessage SendRequest(string method,string target,Dictionary<string,string> parameters) { string baseUrl = Constants.BaseUrl+target; List<Parameter> paramList = new List<Parameter>(); if(parameters != null) { paramList = new List<Parameter>(); foreach(KeyValuePair<string,string> kvP in parameters) { paramList.Add(new Parameter(kvP.Key, kvP.Value)); } } RequestBuilder req = new RequestBuilder(apiKey,apiSecret,baseUrl,method,paramList); return req.SendRequest(); }
private void AppMain_Loaded(object sender, RoutedEventArgs e) { Point Desktop = new Point(SystemParameters.WorkArea.Width, SystemParameters.WorkArea.Height); this.Left = 10; this.Top = Desktop.Y - (this.Height + 10); this.Topmost = false; RequestBuilder nipp = new RequestBuilder("http://www.nipponanime.net/forum/nisekoi/(one-shot)-nisekoi-ch-0-(lightning)/"); txtTest.Text = XHR.Connect(nipp).ToString(); nipp = new RequestBuilder("http://upic.me/i/f1/7bx12.jpg"); nipp.Referer = "http://www.nipponanime.net/forum/nisekoi"; XHR c = new XHR(nipp); ResponseBuilder a = new ResponseBuilder(); do { //File.WriteAllBytes("C:\\Users\\HaKko\\Desktop\\"+Path.GetRandomFileName() +".txt", c.ReceiveByte()); Console.WriteLine(XHR.BytesPerSecond(c.ReceivedData)); } while (c.ReceivedData > 0); }
public override string ToQueryString(string root) { var builder = new RequestBuilder("business"); builder.AddElement("name", Name); builder.AddElement("registered_as", RegisteredAs); builder.AddElement("industry", Industry); builder.AddElement("description", Description); builder.AddElement("street_address", StreetAddress); builder.AddElement("locality", Locality); builder.AddElement("region", Region); builder.AddElement("postal_code", PostalCode); builder.AddElement("country", Country); builder.AddElement("annual_volume_amount", AnnualVolumeAmount); builder.AddElement("average_transaction_amount", AverageTransactionAmount); builder.AddElement("maximum_transaction_amount", MaximumTransactionAmount); builder.AddElement("ship_physical_goods", ShipPhysicalGoods); builder.AddElement("fulfillment_completed_in", FulfillmentCompletedIn); builder.AddElement("currency", Currency); builder.AddElement("website", Website); builder.AddElement("established_on", EstablishedOn); return builder.ToQueryString(); }
/// <summary> /// Получает список всех друзей пользователя /// </summary> /// <param name="userId">Id авторизованного пользователя</param> /// <param name="accessToken">Token</param> /// <returns>Возвращает список друзей пользователя. Пустой список если ошибка</returns> public List<IFriend> Get(int userId, string accessToken) { var urlBuilder = new ApiBuilder(FriendsMethods.FriendsGet, ApiSettings, accessToken); var url = urlBuilder.GenerateUrl( FriendsGetParameters.Instance.Order(Orders.Name), FriendsGetParameters.Instance.Fields(new List<string> { UserFields.Photo50 })); var requestBuilder = new RequestBuilder<Friend>("items"); var response = requestBuilder.GetResponseArray(url); foreach (var friend in response) { friend.ParentVkId = userId; friend.Position = response.IndexOf(friend); } Exception = requestBuilder.Exception; return response.Cast<IFriend>().ToList(); }
/// <summary> /// Возвращает историю сообщений с указанным собеседником. /// </summary> /// <param name="friendId">Id собеседника</param> /// <param name="accessToken">Token</param> /// <param name="count">Количество сообщений</param> /// <param name="offset">Смещение</param> /// <returns>Возвращает список сообщений</returns> public IEnumerable<IDialogMessage> GetHistory(int friendId, string accessToken, int count = 20, int offset = 0) { var urlBuilder = new ApiBuilder(MessagesMethods.MessagesGetHistory, ApiSettings, accessToken); var url = urlBuilder.GenerateUrl( MessagesGetHistoryParameters.Instance.Offset(offset), MessagesGetHistoryParameters.Instance.Count(count), MessagesGetHistoryParameters.Instance.UserId(friendId) ); var requestBuilder = new RequestBuilder<DialogMessage>("items"); var response = requestBuilder.GetResponseArray(url); Exception = requestBuilder.Exception; //Задаем, кому было отправлено сообщение foreach (var message in response) { message.VkUserId = _vkUserId; message.VkFriendId = friendId; } var messages = response.Cast<IDialogMessage>().OrderBy(x => x.Date).ToList(); return messages; }
public void RunBeforeRequest(RequestBuilder requestBuilder, Uri absoluteUrl) => extensions.ForEach(ext => ext.BeforeRequest(requestBuilder, absoluteUrl));
private async void Button_Clicked(object sender, EventArgs e) { // если нет подключение к интернету if (!CrossConnectivity.Current.IsConnected) { return; } if (string.IsNullOrWhiteSpace(loginEntry.Text) || string.IsNullOrWhiteSpace(passwordEntry.Text) || string.IsNullOrWhiteSpace(emailEntry.Text) || string.IsNullOrWhiteSpace(firstNameEntry.Text) || string.IsNullOrWhiteSpace(lastNameEntry.Text) || string.IsNullOrWhiteSpace(yearsEntry.Text)) { await DisplayAlert("Ошибка", "Заполнены не все поля", "cancel"); return; } if (!IsValidEmail(emailEntry.Text)) { await DisplayAlert("Ошибка", "Не верный Email", "cancel"); return; } var body = new RegisterBody { Login = loginEntry.Text, Password = passwordEntry.Text, Email = emailEntry.Text, FirstName = firstNameEntry.Text, LastName = lastNameEntry.Text, Year = Convert.ToInt32(yearsEntry.Text), PhoneNumber = telefonEntry.Text, Sex = (SexType)picker.SelectedIndex }; if (body.Year < 16 || body.Year > 150) { await DisplayAlert("Ошибка", "Некоректный возраст", "cancel"); return; } if (body.Password.Length <= 6) { await DisplayAlert("Ошибка", "Длина пароля должна быть больше 6", "cancel"); return; } var response = await RequestBuilder.Create() .AppendPathSegments("api", "account", "registerWork") // добавляет к ендпоинт .SetQueryParam("rol", pickerRol.SelectedIndex) .PostJsonAsync(body); // https://localhost:5001/api/account/login?login=1&password=1234567 if (!response.IsSuccessStatusCode) { var error = await response.Content.ReadAsStringAsync(); await DisplayAlert("a", error, "cancel"); return; } await DisplayAlert("ОК", "Работник успешно зарегестрирован", "ОК"); }
private async Task <ServiceInformationDto> GetServiceInformationInternal(FetchBehavior behavior, CancellationToken cancellationToken = default) { // This is an intentional race condition. Calling this method from multiple threads may lead to multiple calls to Get<ServiceInformation>(). // However, this would be rare and harmless, since it should always return the same result. It would be a lot more difficult to make this work without any races or blocking. // It is important to never set _LastValidServiceInformation to null anywhere to avoid possible null returns here due to the race condition. if (behavior == FetchBehavior.FetchAlways || _LastValidServiceInformation == null) { var serviceInformation = await _RestClient.Request <ServiceInformationDto>(RequestBuilder.CreateGet("ServiceInformation"), cancellationToken).ConfigureAwait(false); _LastValidServiceInformation = serviceInformation; } return(_LastValidServiceInformation); }
private IRestRequest BuildGetSwitchRequest(int id) => RequestBuilder.BuildRestRequest(SwitchCommand.GetSwitch, Method.GET, GetDefaultParameters(id), GetClientTransactionId());
/// <inheritdoc /> public async Task <CatalogDto> GetCatalog(Guid catalogUuid, CancellationToken cancellationToken = default) { var catalog = await _RestClient.Request <CatalogDto[]>(RequestBuilder.CreateGet($"catalogs/{catalogUuid}"), cancellationToken).ConfigureAwait(false); return(catalog.FirstOrDefault()); }
/// <inheritdoc /> public Task DeleteAllAttributeDefinitions(CancellationToken cancellationToken = default) { return(_RestClient.Request(RequestBuilder.CreateDelete("configuration"), cancellationToken)); }
public override void LoadItems() { var temp = Description .Select(str => str.Text.Split('|')[0].Trim()).ToList(); var skins = new List <string>(); for (int i = 0; i < temp.Count; i++) { string item = temp[i]; if (!skins.Contains(item)) { skins.Add(item); } } RequestHandler.GetInstance().AddAction(RequestHandler.Priority.Medium, () => { return(Task.Run(() => { State = LootBoxState.LoadStarted; return true; })); }, false); foreach (var description in skins) { RequestHandler.GetInstance().AddAction(RequestHandler.Priority.Medium, async() => { HttpWebRequest request = (HttpWebRequest)WebRequest .Create(RequestBuilder.SearchRequest(description)); if (ProxySingleton.GetInstanceNext().CanUse) { request.Proxy = ProxySingleton.GetInstance().Proxy; } HttpWebResponse response = await RequestsUtil.GetResponseAsync(request); await Task.Delay(RequestHandler.Delay); if (response == null) { return(false); } Stream stream = response.GetResponseStream(); StreamReader streamReader = new StreamReader(stream); string content = streamReader.ReadToEnd(); response.Close(); JSONObject json = JSONParser.Parse(content); var results = json.GetArray("results"); if (results == null) { return(false); } string hashName, imageCode; IMarketItem item; for (int i = 0; i < results.Count; i++) { hashName = results[i]["asset_description"].GetValue("market_hash_name").ToString(); if (!hashName.ToLower().Contains(description.ToLower()) || Items.Where(x => x.Name == hashName).Count() > 0) { continue; } item = new MarketItem(hashName); AddItem(item); imageCode = results[i]["asset_description"].GetValue("icon_url").ToString(); item.GetIcon(imageCode, hashName, Name); RaisePropertyChanged("OnItemLoaded"); } return(true); }); } RequestHandler.GetInstance().AddAction(RequestHandler.Priority.Medium, () => { return(Task.Run(() => { State = LootBoxState.ItemsLoaded; LoadPrices(); return true; })); }, false); }
public void UriConstructionTests(WebhookConfig config, string payload, string expectedUri) { var uri = new RequestBuilder().BuildUri(config, payload); Assert.Equal(expectedUri, uri); }
/// <inheritdoc /> public async Task <SimpleMeasurementDto[]> GetMeasurements(PathInformationDto partPath = null, MeasurementFilterAttributesDto filter = null, CancellationToken cancellationToken = default) { if (filter?.MergeAttributes?.Length > 0) { var featureMatrix = await GetFeatureMatrixInternal(FetchBehavior.FetchIfNotCached, cancellationToken).ConfigureAwait(false); if (!featureMatrix.SupportsRestrictMeasurementSearchByMergeAttributes) { throw new OperationNotSupportedOnServerException( "Restricting measurement search by merge attributes is not supported by this server.", DataServiceFeatureMatrix.RestrictMeasurementSearchByMergeAttributesMinVersion, featureMatrix.CurrentInterfaceVersion); } } if (filter?.MergeMasterPart != null) { var featureMatrix = await GetFeatureMatrixInternal(FetchBehavior.FetchIfNotCached, cancellationToken).ConfigureAwait(false); if (!featureMatrix.SupportRestrictMeasurementSearchByMergeMasterPart) { throw new OperationNotSupportedOnServerException( "Restricting measurement search by merge master part is not supported by this server.", DataServiceFeatureMatrix.RestrictMeasurementSearchByMergeAttributesMinVersion, featureMatrix.CurrentInterfaceVersion); } } const string requestPath = "measurements"; // split multiple measurement uuids into chunks of uuids using multiple requests to avoid "Request-URI Too Long" exception if (filter?.MeasurementUuids?.Length > 0) { var newFilter = filter.Clone(); newFilter.MeasurementUuids = null; var parameterName = AbstractMeasurementFilterAttributesDto.MeasurementUuidsParamName; var parameterDefinitions = CreateParameterDefinitions(partPath, newFilter); //Split into multiple parameter sets to limit uuid parameter lenght var splitter = new ParameterSplitter(this, requestPath); var collectionParameter = CollectionParameterFactory.Create(parameterName, filter.MeasurementUuids); var parameterSets = splitter.SplitAndMerge(collectionParameter, parameterDefinitions); //Execute requests in parallel var requests = parameterSets .Select(set => RequestBuilder.CreateGet(requestPath, set.ToArray())) .Select(request => _RestClient.Request <SimpleMeasurementDto[]>(request, cancellationToken)); var result = await Task.WhenAll(requests).ConfigureAwait(false); return(result.SelectMany(r => r).ToArray()); } // split multiple part uuids into chunks of uuids using multiple requests to avoid "Request-URI Too Long" exception if (filter?.PartUuids?.Length > 0) { var newFilter = filter.Clone(); newFilter.PartUuids = null; const string parameterName = AbstractMeasurementFilterAttributesDto.PartUuidsParamName; var parameterDefinitions = CreateParameterDefinitions(partPath, newFilter); //Split into multiple parameter sets to limit uuid parameter lenght var splitter = new ParameterSplitter(this, requestPath); var collectionParameter = CollectionParameterFactory.Create(parameterName, filter.PartUuids); var parameterSets = splitter.SplitAndMerge(collectionParameter, parameterDefinitions); //Execute requests in parallel var requests = parameterSets .Select(set => RequestBuilder.CreateGet(requestPath, set.ToArray())) .Select(request => _RestClient.Request <SimpleMeasurementDto[]>(request, cancellationToken)); var result = await Task.WhenAll(requests).ConfigureAwait(false); return(result.SelectMany(r => r).ToArray()); } { var parameterDefinitions = CreateParameterDefinitions(partPath, filter).ToArray(); var requestUrl = RequestBuilder.CreateGet(requestPath, parameterDefinitions); return(await _RestClient.Request <SimpleMeasurementDto[]>(requestUrl, cancellationToken).ConfigureAwait(false)); } }
/// <inheritdoc /> public async Task <InspectionPlanCharacteristicDto> GetCharacteristicByUuid(Guid charUuid, AttributeSelector requestedCharacteristicAttributes = null, bool withHistory = false, CancellationToken cancellationToken = default) { var parameter = RestClientHelper.ParseToParameter(requestedCharacteristicAttributes: requestedCharacteristicAttributes, withHistory: withHistory); return(await _RestClient.Request <InspectionPlanCharacteristicDto>(RequestBuilder.CreateGet($"characteristics/{charUuid}", parameter.ToArray()), cancellationToken).ConfigureAwait(false)); }
private IRestRequest BuildGetMaxSwitchRequest() => RequestBuilder.BuildRestRequest(SwitchCommand.MaxSwitch, Method.GET, GetClientTransactionId());
public void GivenWithPath_WhenPathProvidedIsNull_ThenExceptionIsThrown() { Assert.Throws <ArgumentNullException>(() => { RequestBuilder.Request().WithPath(null); }); }
public void ReturnBuilderOnWhereTest() { var builder = new RequestBuilder <Game>(); Assert.IsInstanceOf <RequestBuilder <Game> >(builder.Where(g => g.Name == "Foo")); }
public IRevokeTokenClient CreateClient(RequestBuilder builder) { return(new RevokeTokenClient(builder, _revokeTokenOperation, _getDiscoveryOperation)); }
public void ReturnRequestOnBuildTest() { var builder = new RequestBuilder <Game>(); Assert.IsInstanceOf <ApicalipseRequest>(builder.Build()); }
/// <inheritdoc /> public async Task <IEnumerable <InspectionPlanCharacteristicDto> > GetCharacteristicsByUuids(Guid[] charUuids, AttributeSelector requestedCharacteristicAttributes = null, bool withHistory = false, CancellationToken cancellationToken = default) { if (charUuids == null || charUuids.Length == 0) { return(new InspectionPlanCharacteristicDto[0]); } var result = new List <InspectionPlanCharacteristicDto>(charUuids.Length); var featureMatrix = await GetFeatureMatrixInternal(FetchBehavior.FetchIfNotCached, cancellationToken).ConfigureAwait(false); if (!featureMatrix.SupportsCharacteristicUuidRestrictionForCharacteristicFetch) { foreach (var uuid in charUuids) { var inspectionPlanCharacteristic = await GetCharacteristicByUuid(uuid, requestedCharacteristicAttributes, withHistory, cancellationToken).ConfigureAwait(false); if (inspectionPlanCharacteristic != null) { result.Add(inspectionPlanCharacteristic); } } } else { const string requestPath = "characteristics"; var targetSize = RestClientHelper.GetUriTargetSize(ServiceLocation, requestPath, MaxUriLength, ParameterDefinition.Create("charUuids", "{}")); foreach (var uuidList in ArrayHelper.Split(charUuids, targetSize, RestClientHelper.LengthOfListElementInUri)) { var parameter = RestClientHelper.ParseToParameter(null, null, uuidList, null, null, requestedCharacteristicAttributes, withHistory); var characteristics = await _RestClient.Request <InspectionPlanCharacteristicDto[]>(RequestBuilder.CreateGet("characteristics", parameter.ToArray()), cancellationToken).ConfigureAwait(false); result.AddRange(characteristics); } } return(result); }
public void Generate_GatewayRespectsMakeDefault() { BraintreeGateway gateway = new BraintreeGateway { Environment = Environment.DEVELOPMENT, MerchantId = "integration_merchant_id", PublicKey = "integration_public_key", PrivateKey = "integration_private_key" }; Result <Customer> result = gateway.Customer.Create(new CustomerRequest()); Assert.IsTrue(result.IsSuccess()); string customerId = result.Target.Id; var request = new CreditCardRequest { CustomerId = customerId, Number = "5105105105105100", ExpirationDate = "05/2099" }; Result <CreditCard> creditCardResult = gateway.CreditCard.Create(request); Assert.IsTrue(creditCardResult.IsSuccess()); var clientToken = TestHelper.GenerateDecodedClientToken(gateway, new ClientTokenRequest { CustomerId = customerId, Options = new ClientTokenOptionsRequest { MakeDefault = true } } ); var authorizationFingerprint = TestHelper.extractParamFromJson("authorizationFingerprint", clientToken); RequestBuilder builder = new RequestBuilder(""); builder.AddTopLevelElement("authorization_fingerprint", authorizationFingerprint). AddTopLevelElement("shared_customer_identifier_type", "testing"). AddTopLevelElement("shared_customer_identifier", "test-identifier"). AddTopLevelElement("credit_card[number]", "4111111111111111"). AddTopLevelElement("credit_card[expiration_month]", "11"). AddTopLevelElement("credit_card[expiration_year]", "2099"); HttpWebResponse response = new BraintreeTestHttpService().Post(gateway.MerchantId, "v1/payment_methods/credit_cards.json", builder.ToQueryString()); Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); response.Close(); Customer customer = gateway.Customer.Find(customerId); Assert.AreEqual(2, customer.CreditCards.Length); foreach (CreditCard creditCard in customer.CreditCards) { if (creditCard.LastFour == "1111") { Assert.IsTrue(creditCard.IsDefault.Value); } } }
/// <inheritdoc /> public async Task <IEnumerable <InspectionPlanCharacteristicDto> > GetCharacteristics(PathInformationDto partPath = null, ushort?depth = null, AttributeSelector requestedCharacteristicAttributes = null, bool withHistory = false, CancellationToken cancellationToken = default) { var parameter = RestClientHelper.ParseToParameter(partPath, null, null, depth, null, requestedCharacteristicAttributes, withHistory); return(await _RestClient.Request <InspectionPlanCharacteristicDto[]>(RequestBuilder.CreateGet("characteristics", parameter.ToArray()), cancellationToken).ConfigureAwait(false)); }
/// <summary> /// Gets the items from the current folder. /// </summary> /// <param name="top">The number of items to return in a result set.</param> /// <param name="orderBy">Sort the order of items in the response collection</param> /// <param name="filter">Filters the response based on a set of criteria.</param> /// <param name="cancellationToken">The <see cref="CancellationToken"/> for the request.</param> /// <returns>When this method completes successfully, it returns a list of the subfolders and files in the current folder.</returns> public async Task <OneDriveStorageItemsCollection> GetItemsAsync(int top, OrderBy orderBy = OrderBy.None, string filter = null, CancellationToken cancellationToken = default(CancellationToken)) { IItemChildrenCollectionRequest oneDriveItemsRequest = RequestBuilder.CreateChildrenRequest(top, orderBy, filter); return(await RequestOneDriveItemsAsync(oneDriveItemsRequest, cancellationToken).ConfigureAwait(false)); }
/// <inheritdoc /> public Task <CatalogDto[]> GetAllCatalogs(CancellationToken cancellationToken = default) { return(_RestClient.Request <CatalogDto[]>(RequestBuilder.CreateGet("catalogs"), cancellationToken)); }
/// <summary> /// Requests from OneDrive the file or folder with the specified name from the current folder. /// </summary> /// <param name="path">The name (or path relative to the current folder) of the file or folder to get.</param> /// <param name="cancellationToken">The <see cref="CancellationToken"/> for the request.</param> /// <returns>When this method completes successfully, it returns a DriveItem that represents the specified file or folder.</returns> private async Task <Item> RequestChildrenAsync(string path, CancellationToken cancellationToken) { return(await RequestBuilder.ItemWithPath(path).Request().GetAsync(cancellationToken).ConfigureAwait(false)); }
/// <inheritdoc /> public Task <ConfigurationDto> GetConfiguration(CancellationToken cancellationToken = default) { return(_RestClient.Request <ConfigurationDto>(RequestBuilder.CreateGet("configuration"), cancellationToken)); }
/// <summary> /// Retrieves a thumbnail set for the file /// </summary> /// <param name="cancellationToken">The <see cref="CancellationToken"/> for the request.</param> /// <returns>When this method completes, return a thumbnail set, or null if no thumbnail are available</returns> public async Task <OneDriveThumbnailSet> GetThumbnailSetAsync(CancellationToken cancellationToken = default(CancellationToken)) { return(await RequestBuilder.GetThumbnailSetAsync(cancellationToken)); }
public void ReturnBuilderOnTakeTest() { var builder = new RequestBuilder <Game>(); Assert.IsInstanceOf <RequestBuilder <Game> >(builder.Take(20)); }
public static RequestBuilder WithCookie(this RequestBuilder request, Cookie cookie) { return(WithCookie(request, cookie.Name, cookie.Value)); }
public void ReturnBuilderOnOrderByDescendingTest() { var builder = new RequestBuilder <Game>(); Assert.IsInstanceOf <RequestBuilder <Game> >(builder.OrderByDescending(g => g.Name)); }
public void ReturnBuilderOnSkipTest() { var builder = new RequestBuilder <Game>(); Assert.IsInstanceOf <RequestBuilder <Game> >(builder.Skip(0)); }
public void ReturnBuilderOnSelectTest() { var builder = new RequestBuilder <Game>(); Assert.IsInstanceOf <RequestBuilder <Game> >(builder.Select <GameName>()); }
public void ReturnBuilderOnSearchTest() { var builder = new RequestBuilder <Game>(); Assert.IsInstanceOf <RequestBuilder <Game> >(builder.Search("Foo")); }
public void Generate_GatewayRespectsMakeDefault() { var gateway = new BraintreeGateway(); Result<Customer> result = gateway.Customer.Create(new CustomerRequest()); Assert.IsTrue(result.IsSuccess()); string customerId = result.Target.Id; var request = new CreditCardRequest { CustomerId = customerId, Number = "5555555555554444", ExpirationDate = "05/2099" }; Result<CreditCard> creditCardResult = gateway.CreditCard.Create(request); Assert.IsTrue(creditCardResult.IsSuccess()); var clientToken = TestHelper.GenerateDecodedClientToken(gateway, new ClientTokenRequest { CustomerId = customerId, Options = new ClientTokenOptionsRequest { MakeDefault = true } } ); var authorizationFingerprint = TestHelper.extractParamFromJson("authorizationFingerprint", clientToken); var builder = new RequestBuilder(""); builder.AddTopLevelElement("authorization_fingerprint", authorizationFingerprint). AddTopLevelElement("shared_customer_identifier_type", "testing"). AddTopLevelElement("shared_customer_identifier", "test-identifier"). AddTopLevelElement("credit_card[number]", "4111111111111111"). AddTopLevelElement("credit_card[expiration_month]", "11"). AddTopLevelElement("credit_card[expiration_year]", "2099"); HttpWebResponse response = new BraintreeTestHttpService().Post(gateway.MerchantId, "v1/payment_methods/credit_cards.json", builder.ToQueryString()); Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); response.Close(); Customer customer = gateway.Customer.Find(customerId); Assert.AreEqual(2, customer.CreditCards.Length); foreach (CreditCard creditCard in customer.CreditCards) { if (creditCard.LastFour == "1111") { Assert.IsTrue(creditCard.IsDefault.Value); } } }
public void Generate_GatewayRespectsVerifyCard() { var gateway = new BraintreeGateway(); Result<Customer> result = gateway.Customer.Create(new CustomerRequest()); Assert.IsTrue(result.IsSuccess()); string customerId = result.Target.Id; var clientToken = TestHelper.GenerateDecodedClientToken(gateway, new ClientTokenRequest { CustomerId = customerId, Options = new ClientTokenOptionsRequest { VerifyCard = true } } ); var authorizationFingerprint = TestHelper.extractParamFromJson("authorizationFingerprint", clientToken); var builder = new RequestBuilder(""); builder.AddTopLevelElement("authorization_fingerprint", authorizationFingerprint). AddTopLevelElement("shared_customer_identifier_type", "testing"). AddTopLevelElement("shared_customer_identifier", "test-identifier"). AddTopLevelElement("credit_card[number]", "4000111111111115"). AddTopLevelElement("credit_card[expiration_month]", "11"). AddTopLevelElement("credit_card[expiration_year]", "2099"); HttpWebResponse response = new BraintreeTestHttpService().Post(gateway.MerchantId, "v1/payment_methods/credit_cards.json", builder.ToQueryString()); Assert.AreEqual(422, (int)response.StatusCode); response.Close(); Customer customer = gateway.Customer.Find(customerId); Assert.AreEqual(0, customer.CreditCards.Length); }
public void ReturnBuilderOnExcludeTest() { var builder = new RequestBuilder <Game>(); Assert.IsInstanceOf <RequestBuilder <Game> >(builder.Exclude(g => g.Name)); }
public override void Start() { // LOGIN RequestBuilder doLogin = new RequestBuilder("forum.tirkx.com/main/login.php?do=login"); doLogin.By = RequestBuilder.Method.POST; doLogin.CacheControl = "max-age=0"; doLogin.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"; doLogin.Origin = "http://forum.tirkx.com"; doLogin.ContentType = "application/x-www-form-urlencoded"; doLogin.Referer = "http://forum.tirkx.com/main/forum.php"; doLogin.AddBody("vb_login_username", Username); doLogin.AddBody("vb_login_password", ""); doLogin.AddBody("vb_login_password_hint", "Password"); doLogin.AddBody("cookieuser", "1"); doLogin.AddBody("s", ""); doLogin.AddBody("securitytoken", "guest"); doLogin.AddBody("do", "login"); doLogin.AddBody("vb_login_md5password", Password); doLogin.AddBody("vb_login_md5password_utf", Password); Trikx = new XHR(); //Trikx.AsyncSend(doLogin, true); //Trikx.AsyncReceive(); //Trikx.WaitResponse(); doLogin.Clear(); base.Start(); }