Ejemplo n.º 1
0
 public async Task <EventStreamResponse> OnAsync(string path, ValueAddedEventHandler added = null,
                                                 ValueChangedEventHandler changed          = null,
                                                 ValueRemovedEventHandler removed          = null, object context = null)
 {
     return(new EventStreamResponse(await _requestManager.ListenAsync(path).ConfigureAwait(false), added, changed,
                                    removed, context));
 }
Ejemplo n.º 2
0
        internal EventStreamResponse(HttpResponseMessage httpResponse,
                                     ValueAddedEventHandler added     = null,
                                     ValueChangedEventHandler changed = null,
                                     ValueRemovedEventHandler removed = null,
                                     object context = null)
        {
            _cancel = new CancellationTokenSource();

            _cache = new TemporaryCache();

            if (added != null)
            {
                _cache.Added += added;
            }
            if (changed != null)
            {
                _cache.Changed += changed;
            }
            if (removed != null)
            {
                _cache.Removed += removed;
            }
            if (context != null)
            {
                _cache.Context = context;
            }

            _pollingTask = ReadLoop(httpResponse, _cancel.Token);
        }
Ejemplo n.º 3
0
        internal EventStreamResponse(HttpResponseMessage httpResponse,
            ValueAddedEventHandler added = null,
            ValueChangedEventHandler changed = null,
            ValueRemovedEventHandler removed = null,
            object context = null)
        {
            _cancel = new CancellationTokenSource();

            _cache = new TemporaryCache();

            if (added != null)
            {
                _cache.Added += added;
            }
            if (changed != null)
            {
                _cache.Changed += changed;
            }
            if (removed != null)
            {
                _cache.Removed += removed;
            }
            if (context != null)
            {
                _cache.Context = context;
            }

            _pollingTask = ReadLoop(httpResponse, _cancel.Token);
        }
Ejemplo n.º 4
0
        //internal EventStreamResponse(
        //    HttpResponseMessage httpResponse,
        //    ValueAddedEventHandler added = null,
        //    ValueChangedEventHandler changed = null,
        //    ValueRemovedEventHandler removed = null)
        //{
        //    _cancel = new CancellationTokenSource();

        //    _cache = new TemporaryCache();

        //    if (added != null)
        //    {
        //        _cache.Added += added;
        //    }
        //    if (changed != null)
        //    {
        //        _cache.Changed += changed;
        //    }
        //    if (removed != null)
        //    {
        //        _cache.Removed += removed;
        //    }

        //    _pollingTask = ReadLoop(httpResponse, _cancel.Token);
        //}

        internal EventStreamResponse(
            IRequestManager requestManager,
            string listenPath,
            ValueAddedEventHandler added = null,
            ValueChangedEventHandler changed = null,
            ValueRemovedEventHandler removed = null)
        {
            this._requestManager = requestManager;
            this._listenPath = listenPath;

            _cancel = new CancellationTokenSource();

            _cache = new TemporaryCache();

            if (added != null)
            {
                _cache.Added += added;
            }
            if (changed != null)
            {
                _cache.Changed += changed;
            }
            if (removed != null)
            {
                _cache.Removed += removed;
            }
        }
Ejemplo n.º 5
0
 public Response GetStreaming(string path,
                              ValueAddedEventHandler added     = null,
                              ValueChangedEventHandler changed = null,
                              ValueRemovedEventHandler removed = null)
 {
     return(GetStreamingAsync(path, added, changed, removed).Result);
 }
Ejemplo n.º 6
0
 public async Task <Response> GetStreamingAsync(string path,
                                                ValueAddedEventHandler added     = null,
                                                ValueChangedEventHandler changed = null,
                                                ValueRemovedEventHandler removed = null)
 {
     return(await _request.GetStreaming(path, added, changed, removed));
 }
Ejemplo n.º 7
0
        public async Task <Response> GetStreaming(string path,
                                                  ValueAddedEventHandler added     = null,
                                                  ValueChangedEventHandler changed = null,
                                                  ValueRemovedEventHandler removed = null)
        {
            Uri uri = BuildPath(path);

            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, uri);

            request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("text/event-stream"));

            HttpResponseMessage response = await _client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);

            response.EnsureSuccessStatusCode();

            return(new Response(response, added, changed, removed));
        }
Ejemplo n.º 8
0
        internal Response(HttpResponseMessage response,
                          ValueAddedEventHandler added     = null,
                          ValueChangedEventHandler changed = null,
                          ValueRemovedEventHandler removed = null)
        {
            _cancel = new CancellationTokenSource();

            _cache = new FirebaseCache();

            if (added != null)
            {
                _cache.Added += added;
            }
            if (changed != null)
            {
                _cache.Changed += changed;
            }
            if (removed != null)
            {
                _cache.Removed += removed;
            }

            _pollingTask = ReadLoop(response, _cancel.Token);
        }
Ejemplo n.º 9
0
 public Task <EventStreamResponse> On <T>(string path, ValueAddedEventHandler added = null, ValueChangedEventHandler changed = null, ValueRemovedEventHandler removed = null)
 {
     return(_firebaseClient.OnAsync(path, added, changed, removed));
 }
Ejemplo n.º 10
0
 public async Task <FirebaseResponse> OnAsync(string path, ValueAddedEventHandler added = null, ValueChangedEventHandler changed = null,
                                              ValueRemovedEventHandler removed          = null)
 {
     return(new FirebaseResponse(await _requestManager.ListenAsync(path), added, changed, removed));
 }
Ejemplo n.º 11
0
 public Task <EventStreamResponse> ListenAsync(string path, ValueAddedEventHandler added = null,
                                               ValueChangedEventHandler changed          = null,
                                               ValueRemovedEventHandler removed          = null)
 {
     return(OnAsync(path, added, changed, removed));
 }