/// <summary>
 /// Initializes a new instance of the <see cref="FirebaseSubscription{T}"/> class.
 /// </summary>
 /// <param name="observer"> The observer.  </param>
 /// <param name="query"> The query.  </param>
 /// <param name="cache"> The cache. </param>
 public FirebaseSubscription(IObserver <FirebaseEvent <T> > observer, IFirebaseQuery query, string elementRoot, FirebaseCache <T> cache)
 {
     this.observer    = observer;
     this.query       = query;
     this.elementRoot = elementRoot;
     this.cancel      = new CancellationTokenSource();
     this.cache       = cache;
     this.client      = query.Client;
 }
        public NodeStreamer(
            RestfulFirebaseApp app,
            IFirebaseQuery query,
            EventHandler <StreamObject> onNext,
            EventHandler <Exception> onError)
        {
            App          = app;
            this.query   = query;
            this.onNext  = onNext;
            this.onError = onError;

            cancel = new CancellationTokenSource();

            var httpClient = App.Config.HttpStreamFactory.GetHttpClient();

            httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/event-stream"));

            http = httpClient;
        }
Beispiel #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="FirebaseSubscription{T}"/> class.
        /// </summary>
        /// <param name="observer"> The observer.  </param>
        /// <param name="query"> The query.  </param>
        /// <param name="cache"> The cache. </param>
        public FirebaseSubscription(IObserver <FirebaseEvent <T> > observer, IFirebaseQuery query, string elementRoot, FirebaseCache <T> cache)
        {
            this.observer    = observer;
            this.query       = query;
            this.elementRoot = elementRoot;
            this.cancel      = new CancellationTokenSource();
            this.httpClient  = new HttpClient();
            this.cache       = cache;

            var handler = new HttpClientHandler
            {
                AllowAutoRedirect        = true,
                MaxAutomaticRedirections = 10,
            };

            this.httpClient = new HttpClient(handler, true)
            {
                Timeout = TimeSpan.FromMilliseconds(Timeout.Infinite),
            };

            this.httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/event-stream"));
        }
 internal RealtimeWire(RestfulFirebaseApp app, IFirebaseQuery query)
     : base(app, query)
 {
 }