Convert http.HTTPStatus objects to their int equivalent (#7188)

This commit is contained in:
Andrew Morgan 2020-04-03 14:26:07 +01:00 committed by GitHub
parent 0f05fd1530
commit 07b88c546d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 1 deletions

1
changelog.d/7188.misc Normal file
View file

@ -0,0 +1 @@
Fix consistency of HTTP status codes reported in log lines.

View file

@ -86,7 +86,14 @@ class CodeMessageException(RuntimeError):
def __init__(self, code, msg):
super(CodeMessageException, self).__init__("%d: %s" % (code, msg))
self.code = code
# Some calls to this method pass instances of http.HTTPStatus for `code`.
# While HTTPStatus is a subclass of int, it has magic __str__ methods
# which emit `HTTPStatus.FORBIDDEN` when converted to a str, instead of `403`.
# This causes inconsistency in our log lines.
#
# To eliminate this behaviour, we convert them to their integer equivalents here.
self.code = int(code)
self.msg = msg