/// <summary>
        /// 將 HttpResponseMessage 物件轉換為 HttpCallResult
        /// 未來可能會 紀錄對外 API log
        /// </summary>
        /// <param name="response"></param>
        /// <returns></returns>
        public HttpCallResult TransforReturnResult(HttpResponseMessage response)
        {
            HttpCallResult result = new HttpCallResult {
                StatusCode = ((int)response.StatusCode).ToString()
            };

            if (response.StatusCode == HttpStatusCode.OK ||
                response.StatusCode == HttpStatusCode.Created)
            {
                result.FaultInfo     = null;
                result.ReturnContent = response.Content.ReadAsStringAsync().Result;
            }
            else if (response.StatusCode == HttpStatusCode.NotFound)
            {
                return(null);
            }
            else
            {
                //Error StatusCode not 200 201
                result.ReturnContent = string.Empty;
                result.FaultInfo     = new ApiFault
                {
                    Code    = ((int)response.StatusCode).ToString(),
                    Message = response.Content.ReadAsStringAsync().Result
                };
            }
            return(result);
        }
        public HttpCallResult Get(string url, Dictionary <string, string> headers)
        {
            HttpCallResult result = null;

            foreach (KeyValuePair <string, string> item in headers)
            {
                _httpClient.DefaultRequestHeaders.Add(item.Key, item.Value);
            }

            using (var request = new HttpRequestMessage(HttpMethod.Get, url))
            {
                using (HttpResponseMessage response = _httpClient.SendAsync(request).Result)
                {
                    result = TransforReturnResult(response);
                }
            }
            return(result);
        }
        public HttpCallResult Post(string url, Dictionary <string, string> headers, string content)
        {
            HttpCallResult result = null;

            foreach (KeyValuePair <string, string> item in headers)
            {
                _httpClient.DefaultRequestHeaders.Add(item.Key, item.Value);
            }

            using (var request = new HttpRequestMessage(HttpMethod.Post, url))
            {
                request.Content = new StringContent(content, Encoding.UTF8, "application/json");
                using (HttpResponseMessage response = _httpClient.SendAsync(request).Result)
                {
                    result = TransforReturnResult(response);
                }
            }
            return(result);
        }