public void SimpleQuery_Test()
        {
            CLManagerSettings settings = new CLManagerSettings
            {
                LogRequestsAndResponses = true,
                FormatResponse          = true
            };

            string response = CLQueryBuilder.
                              Create(Endpoints.CURRENCIES).
                              WithSettings(settings).
                              GetResponse();

            Assert.IsNotNull(response);
        }
        public void CallbackFunctionFeature_Test()
        {
            CLManagerSettings settings = new CLManagerSettings
            {
                LogRequestsAndResponses = true,
                FormatResponse          = true
            };

            string response = CLQueryBuilder.
                              Create(Endpoints.CURRENCIES).
                              AddParameter("callback", "test_callback").
                              WithSettings(settings).
                              GetResponse();

            Assert.IsNotNull(response);
            Assert.IsTrue(response.Contains("test_callback"));
        }
Exemple #3
0
        public async Task <string> GetResponseAsync()
        {
            if (this.mSettings == null)
            {
                this.mSettings = GlobalConfiguration.Settings ?? CLManagerSettings.Defaults;
            }
            if (this.mRequestPolicy == null)
            {
                this.mRequestPolicy = GlobalConfiguration.ExecutionPolicy ?? new SimpleRequestPolicy();
            }

            return(await mRequestPolicy.ExecuteAsync(async() =>
            {
                var requestId = DateTimeOffset.Now.ToUnixTimeSeconds();
                var protocol = mSettings.IsHttps ? "https://" : "http://";
                var url = mSettings.BaseUrl?.Trim(' ', '/');

                string query = protocol + url + "/" + mEndpoint;

                CreateParametersIfNull();

                if (mSettings.FormatResponse)
                {
                    mParameters["format"] = "1";
                }

                query += "?" + String.Join("&", mParameters.Select(q => q.Key + "=" + q.Value));

                LogRequestToFile(query, requestId);

                var request = _httpClient.GetAsync(query);

                using (var response = await request)
                {
                    var rawResponse = await response.Content.ReadAsStringAsync();

                    LogResponseToFile(rawResponse, requestId);

                    return rawResponse;
                }
            }));
        }
Exemple #4
0
        public CLQueryBuilder WithSettings(CLManagerSettings settings)
        {
            this.mSettings = settings;

            return(this);
        }
 public CLManager(string accessToken, CLManagerSettings settings) : this(accessToken)
 {
     mSettings = settings;
 }