Exemple #1
0
        /// <summary>
        ///     HttpGet 同步请求
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="domain"></param>
        /// <param name="path"></param>
        /// <param name="queries"></param>
        /// <param name="headerDict"></param>
        /// <param name="warnMiSeconds"></param>
        /// <returns></returns>
        public static async Task <T> GetAsync <T>(string domain, string path,
                                                  Dictionary <string, object> queries,
                                                  Dictionary <string, string> headerDict = null,
                                                  int warnMiSeconds = 200) //where T : new()
        {
            return(await TimeWatcherHelper.TimeWatcher(async() =>
            {
                var request = new RestRequest(path, Method.GET);

                headerDict = GeneratorHeaderDict(headerDict);

                foreach (var header in headerDict)
                {
                    request.AddHeader(header.Key, header.Value);
                }
                if (queries != null)
                {
                    foreach (var query in queries)
                    {
                        request.AddParameter(query.Key, query.Value);
                    }
                }

                return await ExecuteHttpClientAsync <T>(domain, request);
            }, $"HttpGetAsync({domain}{path}) with params {queries.ToJsonStr()}", warnMiSeconds : warnMiSeconds));
        }
Exemple #2
0
        /// <summary>
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="url"></param>
        /// <param name="headerDict"></param>
        /// <param name="warnMiSeconds"></param>
        /// <returns></returns>
        public static T Get <T>(string url, Dictionary <string, string> headerDict = null, int warnMiSeconds = 200) //where T : new()
        {
            return(TimeWatcherHelper.TimeWatcher(() =>
            {
                var request = new RestRequest(Method.GET);
                headerDict = GeneratorHeaderDict(headerDict);

                foreach (var header in headerDict)
                {
                    request.AddHeader(header.Key, header.Value);
                }
                return ExecuteHttpClient <T>(url, request);
            }, $"HttpGet({url})", warnMiSeconds: warnMiSeconds));
        }
Exemple #3
0
        /// <summary>
        ///     HttpPost 同步请求
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="domain"></param>
        /// <param name="path"></param>
        /// <param name="bodyObjects"></param>
        /// <param name="headerDict"></param>
        /// <param name="warnMiSeconds"></param>
        /// <returns></returns>
        public static T Post <T>(string domain, string path, object bodyObjects,
                                 Dictionary <string, string> headerDict = null, int warnMiSeconds = 200) //where T : new()
        {
            return(TimeWatcherHelper.TimeWatcher(() =>
            {
                var request = new RestRequest(path, Method.POST);

                headerDict = GeneratorHeaderDict(headerDict);

                foreach (var header in headerDict)
                {
                    request.AddHeader(header.Key, header.Value);
                }

                request.AddJsonBody(bodyObjects);

                return ExecuteHttpClient <T>(domain, request);
            }, $"HttpPost({domain}{path}) with params={bodyObjects.ToJsonStr()} , header={headerDict?.ToJsonStr()}",
                                                 warnMiSeconds: warnMiSeconds));
        }