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