AspComet.MessageHandlers.MetaSubscribeHandler.HandleMessage C# (CSharp) Method

HandleMessage() public method

public HandleMessage ( Message request ) : MessageHandlerResult
request Message
return MessageHandlerResult
        public MessageHandlerResult HandleMessage(Message request)
        {
            IClient client = clientRepository.GetByID(request.clientId);

            ICancellableEvent subscribingEvent = PublishSubscribingEvent(request, client);

            if (subscribingEvent.Cancel)
            {
                Message subscriptionFailedResponse = GetSubscriptionFailedResponse(request, subscribingEvent.CancellationReason);
                return new MessageHandlerResult { Message = subscriptionFailedResponse, CanTreatAsLongPoll = false };
            }

            client.SubscribeTo(request.subscription);

            PublishSubscribedEvent(request, client);

            return new MessageHandlerResult { Message = GetSubscriptionSucceededResponse(request), CanTreatAsLongPoll = false };
        }