Skip to content

Commit 1de9a06

Browse files
author
Mike Taylor
committed
Issue #372 - Forward all params from client to GitHub
We need to use the .copy() method because request.args is an ImmutableMultiDict. This allows us to modify/update.
1 parent 4acb8a3 commit 1de9a06

File tree

1 file changed

+6
-15
lines changed

1 file changed

+6
-15
lines changed

webcompat/api/endpoints.py

+6-15
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,7 @@ def edit_issue(number):
6767
@api.route('/issues')
6868
def proxy_issues():
6969
'''API endpoint to list all issues from GitHub.'''
70-
if request.args.get('page'):
71-
params = {'page': request.args.get('page')}
72-
else:
73-
params = None
70+
params = request.args.copy()
7471

7572
if g.user:
7673
issues = github.raw_request('GET', 'repos/{0}'.format(ISSUES_PATH),
@@ -105,12 +102,9 @@ def get_issue_category(issue_category):
105102
* needsdiagnosis
106103
* sitewait
107104
'''
108-
params = {}
109105
category_list = ['contactready', 'needsdiagnosis', 'sitewait']
110106
issues_path = 'repos/{0}'.format(ISSUES_PATH)
111-
112-
if request.args.get('page'):
113-
params.update({'page': request.args.get('page')})
107+
params = request.args.copy()
114108

115109
if issue_category in category_list:
116110
params.update({'labels': issue_category})
@@ -128,9 +122,9 @@ def get_issue_category(issue_category):
128122
# For paginated results on the /issues page, see /issues/search/untriaged.
129123
elif issue_category == 'untriaged':
130124
if g.user:
131-
issues = github.raw_request('GET', issues_path)
125+
issues = github.raw_request('GET', issues_path, params=params)
132126
else:
133-
issues = proxy_request('get')
127+
issues = proxy_request('get', params=params)
134128
# Do not send random JSON to filter_untriaged
135129
if issues.status_code == 200:
136130
return (filter_untriaged(json.loads(issues.content)),
@@ -163,17 +157,14 @@ def get_search_results(query_string=None):
163157
'''
164158
search_uri = 'https://api.github.com/search/issues'
165159
# TODO: handle sort and order parameters.
166-
params = {}
160+
params = request.args.copy()
167161

168162
if query_string is None:
169-
query_string = request.args.get('q')
163+
query_string = params.get('q')
170164
# restrict results to our repo.
171165
query_string += " repo:{0}".format(REPO_PATH)
172166
params.update({'q': query_string})
173167

174-
if request.args.get('page'):
175-
params.update({'page': request.args.get('page')})
176-
177168
if g.user:
178169
request_headers = get_request_headers(g.request_headers)
179170
results = github.raw_request('GET', 'search/issues', params=params,

0 commit comments

Comments
 (0)