Esempio n. 1
0
        async Task ISwarmOperations.UpdateSwarmAsync(SwarmUpdateParameters parameters, CancellationToken cancellationToken)
        {
            var query = new QueryString <SwarmUpdateParameters>(parameters ?? throw new ArgumentNullException(nameof(parameters)));
            var body  = new JsonRequestContent <Spec>(parameters.Spec ?? throw new ArgumentNullException(nameof(parameters.Spec)), this._client.JsonSerializer);

            await this._client.MakeRequestAsync(new[] { SwarmResponseHandler }, HttpMethod.Post, "swarm/update", query, body, cancellationToken).ConfigureAwait(false);
        }
        async Task ISwarmOperations.UpdateSwarmAsync(SwarmUpdateParameters parameters, CancellationToken cancellationToken)
        {
            var query = new QueryString <SwarmUpdateParameters>(parameters ?? throw new ArgumentNullException(nameof(parameters)));
            var body  = new JsonRequestContent <Spec>(parameters.Spec ?? throw new ArgumentNullException(nameof(parameters.Spec)), this._client.JsonSerializer);

            await this._client.MakeRequestAsync(
                new ApiResponseErrorHandlingDelegate[]
            {
                (statusCode, responseBody) =>
                {
                    if (statusCode == HttpStatusCode.ServiceUnavailable)
                    {
                        // TODO: Make typed error.
                        throw new Exception("Node is not part of a swarm.");
                    }
                }
            },
                HttpMethod.Post,
                "swarm/update",
                query,
                body,
                cancellationToken).ConfigureAwait(false);
        }