Exemple #1
0
        private void OnUpgraded(HTTPRequest originalRequest, HTTPResponse response)
        {
            EventSourceResponse eventSourceResponse = response as EventSourceResponse;

            if (eventSourceResponse == null)
            {
                CallOnError("Not an EventSourceResponse!", "OnUpgraded");
            }
            else
            {
                if (this.OnOpen != null)
                {
                    try
                    {
                        this.OnOpen(this);
                    }
                    catch (Exception ex)
                    {
                        HTTPManager.Logger.Exception("EventSource", "OnOpen", ex);
                    }
                }
                EventSourceResponse eventSourceResponse2 = eventSourceResponse;
                eventSourceResponse2.OnMessage = (Action <EventSourceResponse, Message>)Delegate.Combine(eventSourceResponse2.OnMessage, new Action <EventSourceResponse, Message>(OnMessageReceived));
                eventSourceResponse.StartReceive();
                RetryCount = 0;
                State      = States.Open;
            }
        }
Exemple #2
0
 private void OnMessageReceived(EventSourceResponse resp, Message message)
 {
     if (State < States.Closing)
     {
         if (message.Id != null)
         {
             LastEventId = message.Id;
         }
         if (message.Retry.TotalMilliseconds > 0.0)
         {
             ReconnectionTime = message.Retry;
         }
         if (!string.IsNullOrEmpty(message.Data))
         {
             if (this.OnMessage != null)
             {
                 try
                 {
                     this.OnMessage(this, message);
                 }
                 catch (Exception ex)
                 {
                     HTTPManager.Logger.Exception("EventSource", "OnMessageReceived - OnMessage", ex);
                 }
             }
             OnEventDelegate value;
             if (!string.IsNullOrEmpty(message.Event) && EventTable.TryGetValue(message.Event, out value) && value != null)
             {
                 try
                 {
                     value(this, message);
                 }
                 catch (Exception ex2)
                 {
                     HTTPManager.Logger.Exception("EventSource", "OnMessageReceived - action", ex2);
                 }
             }
         }
     }
 }