autoforce / autoforce/APIcasso

Add throttling options

Ouverte
#32 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
Ruby
Étoiles
31
Forks
1
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Suggestion is to adopt a [Rack Attack](https://github.com/kickstarter/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

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par localiser Apicasso::Key et le point d’entrée de la gestion des requêtes, puis examinez comment Rack Attack pourrait utiliser la configuration .request_limit. Le travail est terminé lorsque les requêtes sont limitées globalement et par chemin selon les limites et les périodes de la clé, et que la configuration proposée est représentée de manière cohérente.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
rails, ruby
Domaine
api
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.