/// <summary>
        /// Get
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        public async Task <HttpResponseResult> Get(string url)
        {
            var httpResponseMessage = await _httpClient.GetAsync(url);

            var result = new HttpResponseResult
            {
                StatusCode = httpResponseMessage.StatusCode,
                Content    = await httpResponseMessage.Content.ReadAsStringAsync()
            };

            _logger?.LogDebug($"Get:url:{url}, statusCode:{result.StatusCode}, content:{result.Content}");

            return(result);
        }
        /// <summary>
        /// Post Form
        /// </summary>
        /// <param name="url"></param>
        /// <param name="data"></param>
        /// <returns></returns>
        public async Task <HttpResponseResult> PostForm(string url, string data)
        {
            var content = new StringContent(data);

            content.Headers.ContentType = ContentType.From;

            var httpResponseMessage = await _httpClient.PostAsync(url, content);

            var result = new HttpResponseResult
            {
                StatusCode = httpResponseMessage.StatusCode,
                Content    = await httpResponseMessage.Content.ReadAsStringAsync()
            };

            _logger?.LogDebug($"PostForm:url:{url}, data:{data}, statusCode:{result.StatusCode}, content:{result.Content}");

            return(result);
        }
        /// <summary>
        /// Put Json
        /// </summary>
        /// <param name="url"></param>
        /// <param name="obj"></param>
        /// <returns></returns>
        public async Task <HttpResponseResult> PutJson <T>(string url, T obj)
        {
            var data = JsonConvert.SerializeObject(obj, _jsonSerializerSettings);

            var content = new StringContent(data);

            content.Headers.ContentType = ContentType.Json;

            var httpResponseMessage = await _httpClient.PutAsync(url, content);

            var result = new HttpResponseResult
            {
                StatusCode = httpResponseMessage.StatusCode,
                Content    = await httpResponseMessage.Content.ReadAsStringAsync()
            };

            _logger?.LogDebug($"PutJson:url:{url}, data:{data}, statusCode:{result.StatusCode}, content:{result.Content}");

            return(result);
        }