Zaz.Server.Advanced.Service.CommandRunner.RunCommand C# (CSharp) Method

RunCommand() public method

public RunCommand ( string cmdKey, object cmd, string tags ) : HttpResponseMessage
cmdKey string
cmd object
tags string
return HttpResponseMessage
        public HttpResponseMessage RunCommand(string cmdKey, object cmd, string[] tags)
        {
            var broker = (_context.Broker ?? Implementations.Broker.Value);

            var log = new ZazLogToStringAdapter();
            var ctx = new CommandHandlingContext(tags, Thread.CurrentPrincipal, log);
            try
            {
                broker.Handle(cmd, ctx).Wait();
            }
            catch (AggregateException ex)
            {
                foreach (var child in ex.Flatten().InnerExceptions)
                {
                    log.Error(child.Message);
                }
            }

            var msg = new StringBuilder("Command " + cmdKey + " accepted.");

            if (log.HasSomething())
            {
                msg.AppendLine();
                msg.Append(log);
            }

            return new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.Accepted,
                Content = new StringContent(msg.ToString())
            };
        }