/// <summary> /// 格式化Consul Api查询结果 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="response"></param> /// <returns></returns> internal static async Task <ConsulApiQueryResult <string> > formatConsulApiQueryResultAsync(this HttpResponseMessage response) { var queryResult = new ConsulApiQueryResult <string>(); queryResult.StatusCode = response.StatusCode; if (response.IsSuccessStatusCode) { queryResult.ResponseData = await response.Content.ReadAsStringAsync().ConfigureAwait(false); } return(queryResult); }
/// <summary> /// 获取key/value信息 /// </summary> /// <param name="key">键</param> /// <returns></returns> public async Task <ConsulApiQueryResult <ConsulKVPair> > kvGetAsync(string key) { var getKVApiUrl = string.Format("{0}/{1}", kvApiUrl, key); var response = await httpClient.GetAsync(getKVApiUrl).ConfigureAwait(false); var queryResult = await response.formatConsulApiQueryResultAsync <ConsulKVPair[]>().ConfigureAwait(false); var result = new ConsulApiQueryResult <ConsulKVPair> { StatusCode = queryResult.StatusCode }; if (queryResult.ResponseData != null && queryResult.ResponseData.Length > 0) { result.ResponseData = queryResult.ResponseData[0]; } return(result); }