public IActionResult Index(MessageForm messageForm)
 {
     var model = new MessageList();
     if (!_options.HasGoodProjectId())
     {
         model.MissingProjectId = true;
         return View(model);
     }
     if (!string.IsNullOrEmpty(messageForm.Message))
     {
         // Publish the message.
         var topicName = new TopicName(_options.ProjectId,
             _options.TopicId);
         lock(s_lock) CreateTopicAndSubscriptionOnce(_publisher, topicName);
         var pubsubMessage = new PubsubMessage()
         {
             Data = ByteString.CopyFromUtf8(messageForm.Message)
         };
         pubsubMessage.Attributes["token"] = _options.VerificationToken;
         _publisher.Publish(topicName, new[] { pubsubMessage });
         model.PublishedMessage = messageForm.Message;
     }
     // Render the current list of messages.
     lock (s_lock) model.Messages = s_receivedMessages.ToArray();
     return View(model);
 }
Exemple #2
0
        public IActionResult Index()
        {
            var model = new MessageList();

            if (!_options.HasGoodProjectId())
            {
                model.MissingProjectId = true;
                return(View(model));
            }

            model.CronCallCounter    = totalCronCount;
            model.CronMessageCounter = messageCount;
            return(View(model));
        }
        public IActionResult Index(MessageForm messageForm)
        {
            var model = new MessageList();

            if (!_options.HasGoodProjectId())
            {
                model.MissingProjectId = true;
                return(View(model));
            }
            if (!string.IsNullOrEmpty(messageForm.Message))
            {
                // Publish the message.
                var pubsubMessage = new PubsubMessage()
                {
                    Data = ByteString.CopyFromUtf8(messageForm.Message)
                };
                pubsubMessage.Attributes["token"] = _options.VerificationToken;
                _publisher.PublishAsync(pubsubMessage);
                model.PublishedMessage = messageForm.Message;
            }
            // Render the current list of messages.
            lock (s_lock) model.Messages = s_receivedMessages.ToArray();
            return(View(model));
        }