示例#1
0
        public CallbackRegistration CreateCallback(string eventName, CallbackRegistration callback)
        {
            callback.Id = null;
            var callbackStr = Serializer.ToString(callback);
            var id          = Hash(callbackStr);

            callback.Id = id;
            _table.GetChild(eventName).Create(id, callback);
            return(callback);
        }
示例#2
0
        private async Task Call(CallbackRegistration registration, NewBlockEvent evt)
        {
            CancellationTokenSource cancel = new CancellationTokenSource();

            cancel.CancelAfter(Timeout);

            HttpClient client = new HttpClient();

            try
            {
                var url = registration.Url;
                await client.SendAsync(new HttpRequestMessage(HttpMethod.Post, registration.Url)
                {
                    Content = new ObjectContent <NewBlockEvent>(evt, Serializer.JsonMediaTypeFormatter)
                }, cancel.Token);
            }
            catch (Exception) //TODO : Debug log + Persistent registration
            {
            }
        }