Ejemplo n.º 1
0
 public override async Task <BaseResponse> Execute(object query)
 {
     if (!(query is OrganizationRequest temp) || string.IsNullOrEmpty(temp.Query))
     {
         throw new InvalidQueryException(query);
     }
     return(await HttpClientSingleton.GetInstance().SendResponseAsync <OrganizationResponse>(HttpMethod.Post, new Uri(Url), query));
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Implementation IDadataApiClient
        /// </summary>
        /// <param name="options">Authentication options (Token required!)</param>
        /// <exception cref="InvalidTokenException">Throw if one from tokens is invalid</exception>
        public ApiClient(ApiClientOptions options)
        {
            if (string.IsNullOrEmpty(options.Token))
            {
                throw new InvalidTokenException();
            }

            Options = options;

            if (Options.LimitQueries != null && Options.LimitQueries <= 0)
            {
                throw new InvalidLimitQueriesException(Options.LimitQueries);
            }
            _limitQueries = Options.LimitQueries ?? (int)DefaultOptions.QueriesLimit;

            //Initialization of HttpClientSingleton
            HttpClientSingleton.GetInstance(options);

            //Reset count of messages per second (timer)
            ResetCountMessagesTimer = new Timer(ResetCounter, null, TimeSpan.Zero, TimeSpan.FromSeconds(1));
        }