public MainWindow() { InitializeComponent(); var events = new EventsExtension<Window>(this); events.MouseDrag.Subscribe(d => d.Subscribe(v => Delta = v, () => Delta = null)); }
public async void ArrayParams() { using (var rc = new RestClient( Environment.GetEnvironmentVariable("RINGCENTRAL_CLIENT_ID"), Environment.GetEnvironmentVariable("RINGCENTRAL_CLIENT_SECRET"), Environment.GetEnvironmentVariable("RINGCENTRAL_SERVER_URL") )) { await rc.Authorize( Environment.GetEnvironmentVariable("RINGCENTRAL_USERNAME"), Environment.GetEnvironmentVariable("RINGCENTRAL_EXTENSION"), Environment.GetEnvironmentVariable("RINGCENTRAL_PASSWORD") ); var eventsExtension = new EventsExtension(); rc.InstallExtension(eventsExtension); var count = 0; const string phoneNumber = "+15889546648"; const string phoneNumber2 = "+17700083226"; var addressBook = rc.Restapi().Account().Extension().AddressBook(); void EventHandler1(object sender, HttpRequestMessage httpRequestMessage) { Assert.Equal($"?phoneNumber={phoneNumber}", httpRequestMessage.RequestUri.Query); count += 1; } eventsExtension.BeforeRequest += EventHandler1; await addressBook.Contact().List(new ListContactsParameters { phoneNumber = new[] { phoneNumber } }); eventsExtension.BeforeRequest -= EventHandler1; Assert.Equal(1, count); void EventHandler2(object sender, HttpRequestMessage httpRequestMessage) { Assert.Equal($"?phoneNumber={phoneNumber}&phoneNumber={phoneNumber2}", httpRequestMessage.RequestUri.Query); count += 1; } eventsExtension.BeforeRequest += EventHandler2; await addressBook.Contact().List(new ListContactsParameters { phoneNumber = new[] { phoneNumber, phoneNumber2 } }); eventsExtension.BeforeRequest -= EventHandler2; Assert.Equal(2, count); } }
public async void RequestSuccess() { using (var rc = new RestClient( Environment.GetEnvironmentVariable("RINGCENTRAL_CLIENT_ID"), Environment.GetEnvironmentVariable("RINGCENTRAL_CLIENT_SECRET"), Environment.GetEnvironmentVariable("RINGCENTRAL_SERVER_URL") )) { await rc.Authorize( Environment.GetEnvironmentVariable("RINGCENTRAL_USERNAME"), Environment.GetEnvironmentVariable("RINGCENTRAL_EXTENSION"), Environment.GetEnvironmentVariable("RINGCENTRAL_PASSWORD") ); var eventsExtension = new EventsExtension(); await rc.InstallExtension(eventsExtension); var count = 0; void EventHandler(object sender, HttpMessages httpMessages) { var rateLimitRemaining = httpMessages.httpResponseMessage.Headers .First(i => i.Key == "X-Rate-Limit-Remaining").Value.First(); Assert.True(int.Parse(rateLimitRemaining) > 0); count += 1; } eventsExtension.RequestSuccess += EventHandler; const string phoneNumber = "+15889546648"; var addressBook = rc.Restapi().Account().Extension().AddressBook(); await addressBook.Contact().List(new ListContactsParameters { phoneNumber = new[] { phoneNumber } }); var china = await rc.Restapi().Dictionary().Country("46").Get(); Assert.Equal("China", china.name); eventsExtension.RequestSuccess -= EventHandler; Assert.Equal(2, count); } }
public async void AfterCall() { using (var rc = new RestClient( Environment.GetEnvironmentVariable("RINGCENTRAL_CLIENT_ID"), Environment.GetEnvironmentVariable("RINGCENTRAL_CLIENT_SECRET"), Environment.GetEnvironmentVariable("RINGCENTRAL_SERVER_URL") )) { await rc.Authorize( Environment.GetEnvironmentVariable("RINGCENTRAL_USERNAME"), Environment.GetEnvironmentVariable("RINGCENTRAL_EXTENSION"), Environment.GetEnvironmentVariable("RINGCENTRAL_PASSWORD") ); var eventsExtension = new EventsExtension(); await rc.InstallExtension(eventsExtension); var count = 0; void EventHandler(object sender, HttpMessages httpMessages) { var userAgent = httpMessages.httpRequestMessage.Headers .First(i => i.Key == "X-User-Agent").Value.ToArray(); Assert.Single(userAgent); Assert.StartsWith("Unknown/0.0.1 RingCentral.Net/", userAgent[0]); count += 1; } eventsExtension.RequestSuccess += EventHandler; var china = await rc.Restapi().Dictionary().Country("46").Get(); Assert.Equal("China", china.name); Assert.Equal(1, count); eventsExtension.RequestSuccess -= EventHandler; } }