async Task ISwarmOperations.JoinSwarmAsync(SwarmJoinParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters));
            }
            var data = new JsonRequestContent <SwarmJoinParameters>(parameters, this._client.JsonSerializer);

            await this._client.MakeRequestAsync(
                new ApiResponseErrorHandlingDelegate[]
            {
                (statusCode, responseBody) =>
                {
                    if (statusCode == HttpStatusCode.ServiceUnavailable)
                    {
                        // TODO: Make typed error.
                        throw new Exception("Node is already part of a swarm.");
                    }
                }
            },
                HttpMethod.Post,
                "swarm/join",
                null,
                data).ConfigureAwait(false);
        }
Exemple #2
0
        async Task ISwarmOperations.JoinSwarmAsync(SwarmJoinParameters parameters, CancellationToken cancellationToken)
        {
            var data = new JsonRequestContent <SwarmJoinParameters>(parameters ?? throw new ArgumentNullException(nameof(parameters)), this._client.JsonSerializer);

            await this._client.MakeRequestAsync(
                new[] { SwarmResponseHandler },
                HttpMethod.Post,
                "swarm/join",
                null,
                data,
                cancellationToken).ConfigureAwait(false);
        }