My team is working on updating our integration to account for the upcoming rate limits, and we're wondering if there's any way to get access to the X-Retry header values to better respond to rate limit timing without simply retrying until it succeeds. Noting this section in the "Working with Rate Limits" guide:
"If using the .NET Geotab.Checkmate.Objectmodel nuget package, there is no access to the headers of the request. To facilitate testing of how your integration works with the new limits, a new optional parameter has been added to the API.cs constructor. Constructing with the optional ApiClientConfiguration with EnableRateLimitObservation set to true and run your integration The nuget package will throw an OverLimitException from the library when the returned result is over a given limit even though the server is not limiting the request."
This makes it seem like it's only the NuGet SDK that does not expose this information. Of course it would be extremely useful - without it, my options are to have something like an exponential backoff retry policy and keep retrying until the next successful request, or to always wait for the full period, even if it would end sooner. If I know how long I have to wait, I can avoid making further calls that I would otherwise know will fail, and only wait exactly as long as I need to before trying again.
I had hoped OverLimitException might expose that information through custom properties, but from what I can tell, it's only a thin wrapper around Exception that allows it to have a more descriptive Type name.
Is there any way to know how long to wait until retrying using the NuGet SDK?