public override IRemoteMessageHub WithConfiguration(IHubConfiguration config)
        {
            SignalRHubConfiguration hubConfig = (SignalRHubConfiguration)config;

            _remoteUri     = hubConfig.RemoteEndpoint;
            _remoteHubName = hubConfig.HubName;

            return(base.WithConfiguration(config));
        }
Example #2
0
        private SubscriptionServiceResult CallSubscriber(IHubConfiguration configuration, SubscriptionModel model)
        {
            SubscriptionServiceResult result = new SubscriptionServiceResult()
            {
                Type = SubscriptionResponseResultType.Success
            };

            var request = CreateRequest(configuration, model);

            try
            {
                var response = (HttpWebResponse)request.GetResponse();
                _loggingService.Info("Response received: " + response.StatusCode);

                if (response.StatusCode != HttpStatusCode.NoContent)
                {
                    result.Type             = SubscriptionResponseResultType.Error;
                    result.ErrorDescription = "The pubsubhub returned " + response.StatusDescription;
                }
                else
                {
                    using (Stream receiveStream = response.GetResponseStream())
                    {
                        using (StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8))
                        {
                            string hubResponse = readStream.ReadToEnd();

                            _loggingService.Info("Response text received: " + hubResponse);
                        }
                    }
                }
            }
            catch (WebException we)
            {
                if (((HttpWebResponse)we.Response).StatusCode == HttpStatusCode.Unauthorized)
                {
                    result.Type             = SubscriptionResponseResultType.NotAuthorised;
                    result.ErrorDescription = "The credentials provided were not accepted by the subscription hub";
                }
                else if ((int)((HttpWebResponse)we.Response).StatusCode == 422)
                {
                    result.Type             = SubscriptionResponseResultType.NotFound;
                    result.ErrorDescription = model.Mode + " error. The hub did not believe the subscription to exist or the sync callback failed.";
                }
                else
                {
                    string msg = model.Mode + " error. " + we.ToString();
                    _loggingService.Error(msg);
                    result.Type             = SubscriptionResponseResultType.Error;
                    result.ErrorDescription = msg;
                }
            }

            return(result);
        }
        private SubscriptionServiceResult CallSubscriber(IHubConfiguration configuration, SubscriptionModel model)
        {
            SubscriptionServiceResult result = new SubscriptionServiceResult()
            {
                Type = SubscriptionResponseResultType.Success
            };

            var request = CreateRequest(configuration, model);

            try
            {
                var response = (HttpWebResponse)request.GetResponse();
                _loggingService.Info("Response received: " + response.StatusCode);

                if (response.StatusCode != HttpStatusCode.NoContent)
                {
                    result.Type = SubscriptionResponseResultType.Error;
                    result.ErrorDescription = "The pubsubhub returned " + response.StatusDescription;
                }
                else
                {
                    using (Stream receiveStream = response.GetResponseStream())
                    {
                        using (StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8))
                        {
                            string hubResponse = readStream.ReadToEnd();

                            _loggingService.Info("Response text received: " + hubResponse);
                        }
                    }
                }
            }
            catch (WebException we)
            {
                if (((HttpWebResponse)we.Response).StatusCode == HttpStatusCode.Unauthorized)
                {
                    result.Type = SubscriptionResponseResultType.NotAuthorised;
                    result.ErrorDescription = "The credentials provided were not accepted by the subscription hub";
                }
                else if ((int)((HttpWebResponse)we.Response).StatusCode == 422)
                {
                    result.Type = SubscriptionResponseResultType.NotFound;
                    result.ErrorDescription = model.Mode + " error. The hub did not believe the subscription to exist or the sync callback failed.";
                }
                else
                {
                    string msg = model.Mode + " error. " + we.ToString();
                    _loggingService.Error(msg);
                    result.Type = SubscriptionResponseResultType.Error;
                    result.ErrorDescription = msg;
                }
            }

            return result;
        }        
Example #4
0
        public override IRemoteMessageHub WithConfiguration(IHubConfiguration config)
        {
            base.WithConfiguration(config);

            MsmqHubConfiguration msmqConfig = (MsmqHubConfiguration)config;

            _localQueueName  = msmqConfig.LocalQueueName;
            _remoteQueuePath = msmqConfig.RemoteQueuePath;

            return(this);
        }
Example #5
0
        public override IRemoteMessageHub WithConfiguration(IHubConfiguration config)
        {
            base.WithConfiguration(config);

            WcfMessageHubConfiguration wcfConfig = (WcfMessageHubConfiguration)config;

            _remoteUri      = wcfConfig.RemoteEndpoint;
            _channelBinding = wcfConfig.Binding;

            return(this);
        }
Example #6
0
 /// <summary>
 /// Maps a static URI to a web socket consumer
 /// </summary>
 /// <typeparam name="T">Type of WebSocketHubConnection</typeparam>
 /// <param name="app">Owin App</param>
 /// <param name="route">Static URI to map to the hub</param>
 /// <param name="serviceLocator">Service locator to use for getting instances of T</param>
 public static void MapWebSocketRoute <T>(this IAppBuilder app, string route, IHubConfiguration hubConfig, object serviceLocator = null)
     where T : Hubs
 {
     if (hubConfig == null)
     {
         hubConfig = new HubConfiguration {
             EnableDetailedErrors = false, EnableJavaScriptProxies = false
         };
     }
     Hubs.HubConfig = hubConfig;
     app.Map(route, config => config.Use <Middleware <T> >(serviceLocator));
 }
        /// <summary>
        /// BroadCast listener class
        /// </summary>
        /// <param name="hubConfiguration">IHubConfiguration value</param>
        public BroadCastListener(IHubConfiguration hubConfiguration)
        {
            if (hubConfiguration == null)
            {
                throw new ArgumentNullException("Hub configuration object is null !");
            }

            if (string.IsNullOrWhiteSpace(hubConfiguration.HubURL) || !Uri.IsWellFormedUriString(hubConfiguration.HubURL, UriKind.Absolute))
            {
                throw new ArgumentNullException("BroadCast service URL is empty or not well formed value !");
            }

            if (string.IsNullOrWhiteSpace(hubConfiguration.HubName))
            {
                throw new ArgumentNullException("BroadCast service HubName is empty !");
            }

            this.IsConnected       = false;
            this._hubConfiguration = hubConfiguration;
        }
Example #8
0
        private HttpWebRequest CreateRequest(IHubConfiguration configuration, SubscriptionModel model)
        {
            UriBuilder builder = new UriBuilder(configuration.HubRoot);

            string query = "hub.mode=" + model.Mode + "&";

            query        += "hub.verify=" + model.Verify + "&";
            query        += "hub.callback=" + model.Callback + "/" + model.Id + "&";
            query        += "hub.topic=" + model.Topic;
            builder.Query = query;

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(builder.Uri);

            byte[] authBytes = Encoding.UTF8.GetBytes((configuration.HubUsername + ":" + configuration.HubPassword).ToCharArray());
            request.Headers["Authorization"] = "Basic " + Convert.ToBase64String(authBytes);

            request.Method          = "POST";
            request.PreAuthenticate = true;

            _loggingService.Info("Making request to hub for subscription: " + request.RequestUri.ToString());

            return(request);
        }
Example #9
0
 public Server(ISiteUrlRepository siteRepository,
     IHubConfiguration hubConfiguration)
 {
     _siteRepository = siteRepository;
     _hubConfiguration = hubConfiguration;
 }
        private HttpWebRequest CreateRequest(IHubConfiguration configuration, SubscriptionModel model)
        {
            UriBuilder builder = new UriBuilder(configuration.HubRoot);

            string query = "hub.mode=" + model.Mode + "&";
            query += "hub.verify=" + model.Verify + "&";
            query += "hub.callback=" + model.Callback + "/" + model.Id + "&";
            query += "hub.topic=" + model.Topic;
            builder.Query = query;

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(builder.Uri);
            byte[] authBytes = Encoding.UTF8.GetBytes((configuration.HubUsername + ":" + configuration.HubPassword).ToCharArray());
            request.Headers["Authorization"] = "Basic " + Convert.ToBase64String(authBytes);

            request.Method = "POST";
            request.PreAuthenticate = true;

            _loggingService.Info("Making request to hub for subscription: " + request.RequestUri.ToString());

            return request;
        }
 public SubscriptionServiceResult UnSubscribe(IHubConfiguration configuration, SubscriptionModel model)
 {
     return CallSubscriber(configuration, model);
 }
Example #12
0
 /// <summary>
 /// Configures this hub instance with the configuration provided
 /// </summary>
 /// <param name="config">The configuration object</param>
 /// <returns>The current instance</returns>
 public virtual IRemoteMessageHub WithConfiguration(IHubConfiguration config)
 {
     UseEncryption = config.UseEncryption;
     _innerHub     = (LocalMessageHub)_innerHub.WithSerializationType(config.DefaultSerializationType);
     return(this);
 }
Example #13
0
 public Server(ISiteUrlRepository siteRepository,
               IHubConfiguration hubConfiguration)
 {
     _siteRepository   = siteRepository;
     _hubConfiguration = hubConfiguration;
 }
Example #14
0
 public SubscriptionServiceResult UnSubscribe(IHubConfiguration configuration, SubscriptionModel model)
 {
     return(CallSubscriber(configuration, model));
 }