Esempio n. 1
0
        public async Task <Result> Delete(Action <ScopedParameterDeleteAction> action, CancellationToken cancellationToken = default)
        {
            cancellationToken.RequestCanceled();

            var impl = new ScopedParameterDeleteActionImpl();

            action(impl);

            string scopedParameter = impl.ScopedParameter.Value;
            string virtualHost     = impl.VirtualHost.Value;
            string component       = impl.Component.Value;

            if (string.IsNullOrWhiteSpace(scopedParameter))
            {
                return(new FaultedResult(new List <Error> {
                    new ErrorImpl("The name of the parameter is missing.")
                }));
            }

            string url = $"api/parameters/{component}/{virtualHost}/{scopedParameter}";

            Result result = await Delete(url, cancellationToken);

            return(result);
        }
        public async Task <Result> DeleteAsync(Action <ScopedParameterDeleteAction> action, CancellationToken cancellationToken = new CancellationToken())
        {
            cancellationToken.RequestCanceled(LogInfo);

            var impl = new ScopedParameterDeleteActionImpl();

            action(impl);

            string scopedParameter = impl.ScopedParameter.Value;
            string virtualHost     = impl.VirtualHost.Value;
            string component       = impl.Component.Value;

            if (string.IsNullOrWhiteSpace(scopedParameter))
            {
                throw new ParameterMissingException("The name of the parameter is missing.");
            }

            string url = $"api/parameters/{component}/{virtualHost}/{scopedParameter}";

            HttpResponseMessage response = await HttpDelete(url, cancellationToken);

            Result result = response.GetResponse();

            LogInfo($"Sent request to RabbitMQ server to delete a global parameter '{scopedParameter}'.");

            return(result);
        }
Esempio n. 3
0
        public Task <Result> Delete(Action <ScopedParameterDeleteAction> action, CancellationToken cancellationToken = default)
        {
            cancellationToken.RequestCanceled();

            var impl = new ScopedParameterDeleteActionImpl();

            action(impl);

            impl.Validate();

            string url = $"api/parameters/{impl.Component.Value}/{impl.VirtualHost.Value}/{impl.ScopedParameter.Value}";

            if (impl.Errors.Value.Any())
            {
                return(Task.FromResult <Result>(new FaultedResult(impl.Errors.Value, new DebugInfoImpl(url))));
            }

            return(Delete(url, cancellationToken));
        }