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); }