Skip to content

Add throttling options #32

@ErvalhouS

Description

@ErvalhouS

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions