Skip to main content
Question

C# SDK - Get X-Rate-Limit headers from response

  • December 10, 2019
  • 10 replies
  • 2023 views

Using the RingCentral.Net SDK - how do retrieve the X-Rate-Limit-* headers from the responses ?

10 replies


PhongVu
Community Manager
Forum|alt.badge.img
  • Community Manager
  • December 10, 2019

Using the RingCentral .Net SDK, you can check API limit header as shown below:

static RestClient rcsdk;

static void Main(string[] args)
{
  rcsdk = new RestClient(RINGCENTRAL_CLIENTID, RINGCENTRAL_CLIENTSECRET, RINGCENTRAL_PRODUCTION);
  rcsdk.Authorize(RINGCENTRAL_USERNAME, RINGCENTRAL_EXTENSION, RINGCENTRAL_PASSWORD).Wait();
  rcsdk.AfterHttpCall += EventHandler;
}
static void EventHandler(object sender, HttpCallEventArgs eventArgs)
{
  var rateLimitRemaining = eventArgs.httpResponseMessage.Headers.First(i => i.Key == "X-Rate-Limit-Remaining").Value.First();
  Console.WriteLine("Remaining: " + rateLimitRemaining);
}

Hi Phong Vu,

I don't see AfterHttpCall in my ringcentral DLL. (Assembly RingCentral.Net, Version=1.0.0.0)

I am using Nuget Packaage.


Am I missing something...


PhongVu
Community Manager
Forum|alt.badge.img
  • Community Manager
  • April 30, 2021

What version of the RingCentral .NET SDK do you use?


Forum|alt.badge.img

This does not work in RingCentral.net SDK version 5.2. The AfterHTTPCall event does not exist.


PhongVu
Community Manager
Forum|alt.badge.img
  • Community Manager
  • May 12, 2021

RingCentral .NET SDK 5.x has major changes and there are many source breaks. It supports SDK extensions mechanism. And to catch the events, create and install the EventsExtension as shown below:

RestClient rcsdk = new RestClient(RC_CLIENTID, RC_CLIENTSECRET, RC_PRODUCTION);
rcsdk.Authorize(RC_USERNAME, RC_EXTENSION, RC_PASSWORD).Wait();
var eventsExtension = new EventsExtension();
rcsdk.InstallExtension(eventsExtension).Wait();
eventsExtension.RequestSuccess += EventHandler;
...
static void EventHandler(object sender, HttpMessages httpMessages)
{
    var rateLimitRemaining = httpMessages.httpResponseMessage.Headers.First(i => i.Key == "X-Rate-Limit-Remaining").Value.First();
    Console.WriteLine("Remaining: " + rateLimitRemaining);
}

Forum|alt.badge.img

I will try this and report back.


  • New Participant
  • September 30, 2021
  1. var eventsExtension = new EventsExtension();

What do I have to do to make it work for EventsExtension as I am getting an error to create a namespace for it. Do I have to install some package from Nuget?

What do you mean by "create and install the EventsExtension as shown below: ". Can you clarify this?



  • New Participant
  • September 30, 2021

I will try this and report back. Thank you for quick reply.