From 4f545f58d9d8c310304fbb40d8d45ee05047a00e Mon Sep 17 00:00:00 2001
From: Valentin Lorentz <vlorentz@softwareheritage.org>
Date: Wed, 10 Jul 2019 14:21:59 +0200
Subject: [PATCH] Add a specific throttling scope for api_origin_visit_latest.

This function will get called a lot (by default, up to 70 times
per origin search), so it deserves a much higher rate-limit.
---
 swh/web/api/views/origin.py | 3 ++-
 swh/web/settings/tests.py   | 6 ++++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/swh/web/api/views/origin.py b/swh/web/api/views/origin.py
index a5a61be57..2e908a341 100644
--- a/swh/web/api/views/origin.py
+++ b/swh/web/api/views/origin.py
@@ -479,7 +479,8 @@ def api_origin_visits(request, origin_id=None, origin_url=None):
 
 
 @api_route(r'/origin/(?P<origin_url>.*)/visit/latest/',
-           'api-1-origin-visit-latest')
+           'api-1-origin-visit-latest',
+           throttle_scope='swh_api_origin_visit_latest')
 @api_doc('/origin/visit/')
 @format_docstring(return_origin_visit=DOC_RETURN_ORIGIN_VISIT)
 def api_origin_visit_latest(request, origin_url=None):
diff --git a/swh/web/settings/tests.py b/swh/web/settings/tests.py
index 69b7cbe8f..5e83891c0 100644
--- a/swh/web/settings/tests.py
+++ b/swh/web/settings/tests.py
@@ -33,6 +33,12 @@ swh_web_config.update({
                 },
                 'exempted_networks': ['127.0.0.0/8']
             },
+            'swh_api_origin_visit_latest': {
+                'limiter_rate': {
+                    'default': '6000/min'
+                },
+                'exempted_networks': ['127.0.0.0/8']
+            },
             'swh_vault_cooking': {
                 'limiter_rate': {
                     'default': '120/h',
-- 
GitLab