public async Task <Result> Create(string vhost, Action <VirtualHostConfigurator> configurator, CancellationToken cancellationToken = default) { cancellationToken.RequestCanceled(); var impl = new VirtualHostConfiguratorImpl(); configurator?.Invoke(impl); VirtualHostRequest request = impl.Request.Value; var errors = new List <Error>(); if (string.IsNullOrWhiteSpace(vhost)) { errors.Add(new (){ Reason = "The name of the virtual host is missing." }); } string url = $"api/vhosts/{vhost.ToSanitizedName()}"; if (errors.Any()) { return new FaultedResult { DebugInfo = new (){ URL = url, Request = request.ToJsonString(Deserializer.Options), Errors = errors } } } ; return(await PutRequest(url, request, cancellationToken).ConfigureAwait(false)); }
public void Configure(Action <VirtualHostConfigurator> configurator) { var impl = new VirtualHostConfiguratorImpl(); configurator(impl); _tracing = impl.Tracing; _description = impl.VirtualHostDescription; _tags = impl.VirtualHostTags; }