Skip to content

Commit d2f2e4e

Browse files
authored
fix(linter): redirect linter if on prod to test (#4856)
When people attempt the /linter-findings endpoint they are getting 403'ed. A better user journey is to be redirected to the test instance.
1 parent 8b8637c commit d2f2e4e

2 files changed

Lines changed: 16 additions & 1 deletion

File tree

gcp/website/frontend_handlers.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,8 @@ def docs():
220220

221221
@blueprint.route('/linter', strict_slashes=False)
222222
def linter():
223+
if request.host_url == 'osv.dev':
224+
return redirect(request.url.replace('osv.dev', 'test.osv.dev'), code=302)
223225
return render_template('linter.html')
224226

225227

gcp/website/linter_api.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
import json
1717
import logging
18-
from flask import Blueprint, abort, jsonify
18+
from flask import Blueprint, abort, jsonify, redirect, request
1919
from google.cloud import storage
2020

2121
blueprint = Blueprint('linter_api', __name__, url_prefix='/linter-findings')
@@ -25,6 +25,19 @@
2525
LINTER_PREFIX = 'linter-result/'
2626

2727

28+
@blueprint.before_request
29+
def redirect_to_test():
30+
"""Redirect requests from production to test site."""
31+
if request.host == 'osv.dev':
32+
return redirect(request.url.replace('osv.dev', 'test.osv.dev'), code=302)
33+
34+
if request.host == 'api.osv.dev':
35+
return redirect(
36+
request.url.replace('api.osv.dev', 'api.test.osv.dev'), code=302)
37+
38+
return None
39+
40+
2841
def _get_storage_client():
2942
"""Get storage client."""
3043
return storage.Client()

0 commit comments

Comments
 (0)