Python rest_framework.throttling.UserRateThrottle() Examples
The following are 3
code examples of rest_framework.throttling.UserRateThrottle().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
rest_framework.throttling
, or try the search function
.
Example #1
Source File: test_baskets.py From ecommerce with GNU Affero General Public License v3.0 | 5 votes |
def test_throttling(self): """Test that the rate of requests to the basket creation endpoint is throttled.""" request_limit = UserRateThrottle().num_requests # Make a number of requests equal to the number of allowed requests for _ in range(request_limit): self.create_basket(skus=[self.PAID_SKU]) # Make one more request to trigger throttling of the client response = self.create_basket(skus=[self.PAID_SKU]) self.assertEqual(response.status_code, 429) self.assertIn("Request was throttled.", response.data['detail'])
Example #2
Source File: throttles.py From ecommerce with GNU Affero General Public License v3.0 | 5 votes |
def allow_request(self, request, view): """Returns True if the request is coming from one of the service users and defaults to UserRateThrottle's configured setting otherwise. """ service_users = [settings.ECOMMERCE_SERVICE_WORKER_USERNAME, settings.PROSPECTUS_WORKER_USERNAME] if request.user.username in service_users: return True return super(ServiceUserThrottle, self).allow_request(request, view)
Example #3
Source File: throttles.py From edx-enterprise with GNU Affero General Public License v3.0 | 5 votes |
def allow_request(self, request, view): """ Modify throttling for service users. Updates throttling rate if the request is coming from the service user, and defaults to UserRateThrottle's configured setting otherwise. Updated throttling rate comes from `DEFAULT_THROTTLE_RATES` key in `REST_FRAMEWORK` setting. service user throttling is specified in `DEFAULT_THROTTLE_RATES` by `service_user` key Example Setting: ``` REST_FRAMEWORK = { ... 'DEFAULT_THROTTLE_RATES': { ... 'service_user': '50/day' } } ``` """ service_users = get_service_usernames() # User service user throttling rates for service user. if request.user.username in service_users: self.update_throttle_scope() return super(ServiceUserThrottle, self).allow_request(request, view)