public async Task <Result> Create(Action <ScopedParameterCreateAction> action, CancellationToken cancellationToken = default) { cancellationToken.RequestCanceled(); var impl = new ScopedParameterCreateActionImpl(); action(impl); DefinedScopedParameter definition = impl.Definition.Value; Debug.Assert(definition != null); if (string.IsNullOrWhiteSpace(definition.ParameterName)) { return(new FaultedResult(new List <Error> { new ErrorImpl("The name of the parameter is missing.") })); } string url = $"api/parameters/{definition.Component}/{SanitizeVirtualHostName(definition.VirtualHost)}/{definition.ParameterName}"; Result result = await Put(url, definition, cancellationToken); return(result); }
public async Task <Result> CreateAsync(Action <ScopedParameterCreateAction> action, CancellationToken cancellationToken = new CancellationToken()) { cancellationToken.RequestCanceled(LogInfo); var impl = new ScopedParameterCreateActionImpl(); action(impl); DefinedScopedParameter definition = impl.Definition.Value; if (string.IsNullOrWhiteSpace(definition.ParameterName)) { throw new ParameterMissingException("The name of the parameter is missing."); } string url = $"api/parameters/{definition.Component}/{definition.VirtualHost.SanitizeVirtualHostName()}/{definition.ParameterName}"; HttpResponseMessage response = await HttpPut(url, definition, cancellationToken); Result result = response.GetResponse(); LogInfo($"Sent request to RabbitMQ server to create a scoped parameter '{definition.ParameterName}'."); return(result); }