public async Task <Result> Create(Action <VirtualHostCreateAction> action, CancellationToken cancellationToken = default) { cancellationToken.RequestCanceled(); var impl = new VirtualHostCreateActionImpl(); action(impl); string vhost = impl.VirtualHostName.Value; if (string.IsNullOrWhiteSpace(vhost)) { return(new FaultedResult(new List <Error> { new ErrorImpl("The name of the virtual host is missing.") })); } string url = $"api/vhosts/{SanitizeVirtualHostName(vhost)}"; DefinedVirtualHost definition = impl.Definition.Value; Result result = await Put(url, definition, cancellationToken); return(result); }
public async Task <Result> CreateAsync(Action <VirtualHostCreateAction> action, CancellationToken cancellationToken = new CancellationToken()) { cancellationToken.RequestCanceled(LogInfo); var impl = new VirtualHostCreateActionImpl(); action(impl); string vhost = impl.VirtualHostName.Value; if (string.IsNullOrWhiteSpace(vhost)) { throw new VirtualHostMissingException("The name of the virtual host is missing."); } string sanitizedVHost = vhost.SanitizeVirtualHostName(); string url = $"api/vhosts/{sanitizedVHost}"; DefinedVirtualHost definition = impl.Definition.Value; HttpResponseMessage response = await HttpPut(url, definition, cancellationToken); Result result = response.GetResponse(); LogInfo($"Sent request to RabbitMQ server to create virtual host '{sanitizedVHost}'."); return(result); }