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; } }
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); } } } } }