APIcasso icon indicating copy to clipboard operation
APIcasso copied to clipboard

Add throttling options

Open ErvalhouS opened this issue 7 years ago • 0 comments

Suggestion is to adopt a Rack Attack configuration that allows to control request limiting per Apicasso::Key.

This project was designed to have this feature implemented based on JSON rule present on the .request_limit field on all Apicasso::Key object. The suggested format is:

{
  limit: # AN ALL AROUND REQUEST LIMITING,
  period: # AN ALL AROUND PERIOD FOR REQUEST THROTTLING,
  <% paths.each do |path| %>
    <%= path %>: {
      limit: # A REQUEST LIMITING FOR A SPECIFIC PATH,
      period: # A PERIOD FOR REQUEST THROTTLING FOR A SPECIFIC PATH
    }
  <% end %>
}

Please note this code example is just for the sake of explanation. This would make APIcasso have global and per-path request limiting, all based on which key is being used for the request. A feature like this would enable for API monetizing based on request quota selling

ErvalhouS avatar Nov 22 '18 17:11 ErvalhouS