Refactor ReadHttpResponse to be error-friendlier
Gerrit sometimes returns a full response json object at
the same time as returning a non-200 status code. This
refactor makes it easier for calling code to request
access to that object and handle error cases on its own.
Bug: 710028
Change-Id: Id1017d580d2fb843d5ca6287efcfed8775c52cd6
Reviewed-on: https://chromium-review.googlesource.com/479450
Commit-Queue: Aaron Gable <agable@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
diff --git a/git_cl.py b/git_cl.py
index 78a212c..111caca 100755
--- a/git_cl.py
+++ b/git_cl.py
@@ -2641,8 +2641,8 @@
return data
try:
- data = gerrit_util.GetChangeDetail(self._GetGerritHost(), str(issue),
- options, ignore_404=False)
+ data = gerrit_util.GetChangeDetail(
+ self._GetGerritHost(), str(issue), options, accept_statuses=[200])
except gerrit_util.GerritError as e:
if e.http_status == 404:
raise GerritChangeNotExists(issue, self.GetCodereviewServer())