コード例 #1
0
        /// <summary>
        /// Makes the HTTP request (Sync).
        /// </summary>
        /// <param name="path">URL path.</param>
        /// <param name="method">HTTP method.</param>
        /// <param name="queryParams">Query parameters.</param>
        /// <param name="postBody">HTTP body (POST request).</param>
        /// <param name="headerParams">Header parameters.</param>
        /// <param name="formParams">Form parameters.</param>
        /// <param name="fileParams">File parameters.</param>
        /// <param name="pathParams">Path parameters.</param>
        /// <param name="contentType">Content Type of the request</param>
        /// <returns>Object</returns>
        public Object CallApi(
            String path, RestSharp.Method method, CustomDictionaryForQueryString queryParams, Object postBody,
            Dictionary <String, String> headerParams, Dictionary <String, String> formParams,
            Dictionary <String, FileParameter> fileParams, Dictionary <String, String> pathParams,
            String contentType)
        {
            var request = PrepareRequest(
                path, method, queryParams, postBody, headerParams, formParams, fileParams,
                pathParams, contentType);

            // set timeout
            RestClient.Timeout = Configuration.Timeout;
            // set user agent
            RestClient.UserAgent = Configuration.UserAgent;

            InterceptRequest(request);
            var response = RestClient.Execute(request);

            InterceptResponse(request, response);

            return((Object)response);
        }
コード例 #2
0
        internal IRestResponse CallApi(string localVarPath, HttpMethod method, CustomDictionaryForQueryString localVarQueryParams,
                                       string localVarPostBody, Dictionary <string, string> localVarHeaderParams, Dictionary <string, string> localVarPathParams)
        {
            HttpRequestMessage  request  = PrepareRequest(localVarPath, method, localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarPathParams);
            HttpResponseMessage response = null;

            try
            {
                response = client.SendAsync(request).Result;
            }
            catch (TaskCanceledException e)
            {
                throw e;
            }
            catch (Exception e)
            {
                throw new ApiException(1, e.Message);
            }
            IRestResponse restResponse = new RestResponse(response);

            return(restResponse);
        }
コード例 #3
0
        internal async Task <IRestResponse> CallApiAsync(string localVarPath, HttpMethod method, CustomDictionaryForQueryString localVarQueryParams,
                                                         string localVarPostBody, Dictionary <string, string> localVarHeaderParams, Dictionary <string, string> localVarPathParams,
                                                         CancellationToken cancellationToken)
        {
            HttpRequestMessage  request  = PrepareRequest(localVarPath, method, localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarPathParams);
            HttpResponseMessage response = null;
            HttpClient          client   = new HttpClient(handler);


            try
            {
                if (cancellationToken == CancellationToken.None)
                {
                    response = await client.SendAsync(request);
                }
                else
                {
                    response = await client.SendAsync(request, cancellationToken);
                }
            }
            catch (TaskCanceledException e)
            {
                throw e;
            }
            catch (Exception e)
            {
                throw new ApiException(1, e.Message);
            }

            IRestResponse restResponse = new RestResponse(response);

            return(restResponse);
        }
コード例 #4
0
        private HttpRequestMessage PrepareRequest(string localVarPath, HttpMethod method, CustomDictionaryForQueryString localVarQueryParams, string localVarPostBody, Dictionary <string, string> localVarHeaderParams, Dictionary <string, string> localVarPathParams)
        {
            foreach (var param in localVarPathParams)
            {
                localVarPath = localVarPath.Replace("{" + param.Key + "}", param.Value);
            }
            string requestUri = string.Format("{0}{1}", this.BaseUrl, localVarPath);

            if ((localVarQueryParams != null) && (localVarQueryParams.Count > 0))
            {
                string queryString = string.Empty;
                foreach (var query in localVarQueryParams)
                {
                    queryString += string.Format("{0}={1}&", query.Key, HttpUtility.UrlEncode(query.Value));
                }
                requestUri = string.Format("{0}?{1}", requestUri, queryString.Substring(0, queryString.Length - 1));
            }
            HttpRequestMessage request = new HttpRequestMessage(method, requestUri);

            request.Headers.Accept.Clear();
            request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            foreach (var item in localVarHeaderParams)
            {
                request.Headers.Add(item.Key, item.Value);
            }

            if ((method != HttpMethod.Get) && (method != HttpMethod.Delete) && string.IsNullOrEmpty(localVarPostBody) == false)
            {
                request.Content = new StringContent(localVarPostBody, Encoding.UTF8, "application/json");
            }
            return(request);
        }
 public MyEnumerator(CustomDictionaryForQueryString coll)
 {
     collection = coll;
     nIndex     = -1;
 }