Esempio n. 1
0
        public async Task Unsubscribe(IGenaSubscription subscription)
        {
            GenaSubscription sub = subscription as GenaSubscription;

            if (sub == null)
            {
                return;
            }

            HttpRequestMessage httpRequest = new HttpRequestMessage(new HttpMethod("UNSUBSCRIBE"), sub.Address);

            httpRequest.Headers.Clear();

            httpRequest.Headers.Add("HOST", sub.Address.Authority);
            httpRequest.Headers.Add("SID", subscription.Id);

            await HttpHandler.SendAsync(httpRequest);
        }
Esempio n. 2
0
        public async Task SubscribeToEvents(GenaSubscriptionHandler handler, string callbackUrl, int timeout)
        {
            if (_subscription != null)
            {
                return;
            }

            GenaSubscriptionRequest request = new GenaSubscriptionRequest()
            {
                BaseAddress   = new Uri(Service.BaseUrl),
                PublisherPath = Service.EventSubUrl,
                Timeout       = timeout,
                Callback      = callbackUrl
            };

            _subscription = await handler.Subscribe(request);

            _subscription.OnNotify += HandleOnNotify;

            if (_subscription.LastOnNotify != null)
            {
                HandleOnNotify(null, _subscription.LastOnNotify);
            }
        }