Пример #1
0
        /// <summary>
        /// Enables either an Application plugin or a module plugin. The application
        /// plugins are bundled as Erlang OTP apps.If the application code is not yet
        /// loaded you have to specify the --path=<PathToPlugin>. If the plugin is
        /// implemented in a single Erlang module make sure that the module is loaded.
        /// For more information <seealso cref="https://docs.vernemq.com/configuring-vernemq/plugins#enable-a-plugin"/>
        /// </summary>
        /// <param name="request">plugin information</param>
        /// <returns></returns>
        public async Task <bool> Enable(EnableRequest request)
        {
            if (request == null || string.IsNullOrWhiteSpace(request.Name))
            {
                throw new ArgumentNullException("Name", " Plugin name is required");
            }

            StringBuilder builder = new StringBuilder();

            builder.Append($"{this.configuration.CreateUrl()}{enableApiPath }?--name={request.Name}");


            if (!string.IsNullOrWhiteSpace(request.Path))
            {
                builder.Append($"&--path={request.Path}");
            }

            if (!string.IsNullOrWhiteSpace(request.Module))
            {
                builder.Append($"&--module={request.Module}");
            }

            if (!string.IsNullOrWhiteSpace(request.Function))
            {
                builder.Append($"&--function={request.Function}");
            }

            if (!string.IsNullOrWhiteSpace(request.Arity))
            {
                builder.Append($"&--arity={request.Arity}");
            }

            if (!string.IsNullOrWhiteSpace(request.Hook))
            {
                builder.Append($"&--hook={request.Hook}");
            }

            using (HttpClient client = new HttpClient(clientHandler))
            {
                var response = await client.GetAsync(builder.ToString()).ConfigureAwait(false);

                if (response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
Пример #2
0
        public virtual Response EnableReceiver(EnableRequest enableRequest, CancellationToken cancellationToken = default)
        {
            Argument.AssertNotNull(enableRequest, nameof(enableRequest));

            using var scope = _actionGroupClientDiagnostics.CreateScope("ActionGroupResource.EnableReceiver");
            scope.Start();
            try
            {
                var response = _actionGroupRestClient.EnableReceiver(Id.SubscriptionId, Id.ResourceGroupName, Id.Name, enableRequest, cancellationToken);
                return(response);
            }
            catch (Exception e)
            {
                scope.Failed(e);
                throw;
            }
        }
 public virtual Response EnableReceiver(string resourceGroupName, string actionGroupName, EnableRequest enableRequest, CancellationToken cancellationToken = default)
 {
     using var scope = _clientDiagnostics.CreateScope("ActionGroupsOperations.EnableReceiver");
     scope.Start();
     try
     {
         return(RestClient.EnableReceiver(resourceGroupName, actionGroupName, enableRequest, cancellationToken));
     }
     catch (Exception e)
     {
         scope.Failed(e);
         throw;
     }
 }
 public virtual async Task <Response> EnableReceiverAsync(string resourceGroupName, string actionGroupName, EnableRequest enableRequest, CancellationToken cancellationToken = default)
 {
     using var scope = _clientDiagnostics.CreateScope("ActionGroupsOperations.EnableReceiver");
     scope.Start();
     try
     {
         return(await RestClient.EnableReceiverAsync(resourceGroupName, actionGroupName, enableRequest, cancellationToken).ConfigureAwait(false));
     }
     catch (Exception e)
     {
         scope.Failed(e);
         throw;
     }
 }
 public async Task <bool> Enable([FromBody] EnableRequest req)
 {
     return(true);
 }