示例#1
0
        private async Task <IEnumerable <TEntity> > GetAllItemsAsync <TEntity>(string relativeUrl)
        {
            Uri    requestUri   = GetQueryUri(relativeUrl);
            string resultString = await this.KubeHttpClient.GetStringAsync(requestUri).ConfigureAwait(false);

            K8sEntityList <TEntity> resultList = JsonConvert.DeserializeObject <K8sEntityList <TEntity> >(resultString);

            return(resultList.Items);
        }
示例#2
0
        private async Task <IEnumerable <TEntity> > GetAllItemsAsync <TEntity>(string relativeUrl)
        {
            Uri requestUri             = GetQueryUri(relativeUrl);
            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, requestUri);

            _logger.LogTrace("Default Header: {0}", KubeHttpClient.DefaultRequestHeaders);

            HttpResponseMessage response = await KubeHttpClient.SendAsync(request).ConfigureAwait(false);

            if (response.IsSuccessStatusCode)
            {
                _logger.LogDebug("Query succeeded.");
                string resultString = await response.Content.ReadAsStringAsync().ConfigureAwait(false);

                K8sEntityList <TEntity> resultList = JsonConvert.DeserializeObject <K8sEntityList <TEntity> >(resultString);
                return(resultList.Items ?? Enumerable.Empty <TEntity>());
            }
            else
            {
                _logger.LogDebug("Query Failed. Request Message: {0}. Status Code: {1}. Phase: {2}", response.RequestMessage, response.StatusCode, response.ReasonPhrase);
                return(Enumerable.Empty <TEntity>());
            }
        }