messari / messari-python-api

Python client for Messari's API
MIT License
89 stars 15 forks source link

Rate Limiting for API_KEY not working. #15

Closed KmiQ closed 2 years ago

KmiQ commented 2 years ago

Problem Even if you are a PRO user using the API_KEY, you are rate limited as if you don't use API_KEY.

Source of the Problem and Solution This looks to me like a bug in the code. The api_dict is not used anywhere as part of headers when elaborating/creating the requests. The get_response(...) function is expected aheaders as part of its arguments but it's not passed when called in any of the API endpoint wrappers/functions. I tested this in the get_metric_timeseries function. I did the following change in my local:

Before:
response = self.get_response(url, params=payload)

After
response = self.get_response(url, params=payload, headers=self.api_dict)

and it worked beautifully. My requests are rate-limited now based on the API KEY. I guess a similar thing needs to be done to the rest of the functions and that should fix the problem.

vinhloc30796 commented 2 years ago

@KmiQ this should already be fixed in https://github.com/messari/messari-python-api/commit/f5ce40f52ff20eec9492a4311a30be62a0b9d53b no?

KmiQ commented 2 years ago

yup, it was fixed. Closing this ticket.