コード例 #1
0
ファイル: VirtualHostImpl.cs プロジェクト: nickxj/HareDu2
        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);
        }
コード例 #2
0
        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);
        }