/// <summary> /// Expected return error code: /// 200 no error /// 400 bad parameter /// 500 server error /// </summary> internal async Task <Stream> MonitorEventAsync(ContainerEventsConfig eventsConfig) { var requestPath = "events"; var queryString = QueryParameterHelper.BuildQueryString(eventsConfig); var response = await this.client.MakeRequestForHttpResponseAsync( HttpMethod.Get, requestPath, queryString, null, null, Timeout.InfiniteTimeSpan).ConfigureAwait(false); if (response.StatusCode != HttpStatusCode.OK) { var statusCode = response.StatusCode; response.Dispose(); throw new ContainerApiException(statusCode, null); } try { return(await response.Content.ReadAsStreamAsync().ConfigureAwait(false)); } catch (Exception) { response.Dispose(); throw; } }
/// <summary> /// Expected return error code: /// 200 No error /// 500 server error /// </summary> internal async Task <IList <NetworkListResponse> > ListNetworksAsync( NetworksListConfig listConfig, TimeSpan timeout) { var requestPath = "networks"; var queryString = QueryParameterHelper.BuildQueryString(listConfig); var response = await this.client.MakeRequestAsync( HttpMethod.Get, requestPath, queryString, null, timeout).ConfigureAwait(false); if (response.StatusCode != HttpStatusCode.OK) { throw new ContainerApiException(response.StatusCode, response.Body); } return(ContainerServiceClient.JsonSerializer.DeserializeObject <NetworkListResponse[]>(response.Body)); }
/// <summary> /// Expected return error code: /// 200 No error /// 500 server error /// </summary> internal async Task <ContainersPruneResponse> PruneContainersAsync( ContainersPruneConfig pruneConfig, TimeSpan timeout) { var requestPath = "containers/prune"; var queryString = QueryParameterHelper.BuildQueryString(pruneConfig); var response = await this.client.MakeRequestAsync( HttpMethod.Post, requestPath, queryString, null, timeout).ConfigureAwait(false); if (response.StatusCode != HttpStatusCode.OK) { throw new ContainerApiException(response.StatusCode, response.Body); } return(ContainerServiceClient.JsonSerializer.DeserializeObject <ContainersPruneResponse>(response.Body)); }