Catch bad status code errors

This commit is contained in:
Philip Allgaier 2020-10-03 14:53:59 +02:00 committed by GitHub
parent c6472edcd4
commit 94e47e4c5e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 27 additions and 17 deletions

View File

@ -534,14 +534,19 @@ class SpeedtestHTTPHandler(AbstractHTTPHandler):
self.timeout = timeout self.timeout = timeout
def http_open(self, req): def http_open(self, req):
return self.do_open( try:
_build_connection( return self.do_open(
SpeedtestHTTPConnection, _build_connection(
self.source_address, SpeedtestHTTPConnection,
self.timeout self.source_address,
), self.timeout
req ),
) req
)
except BadStatusLine:
raise SpeedtestHTTPError(
'Server returned bad status code'
)
http_request = AbstractHTTPHandler.do_request_ http_request = AbstractHTTPHandler.do_request_
@ -558,15 +563,20 @@ class SpeedtestHTTPSHandler(AbstractHTTPHandler):
self.timeout = timeout self.timeout = timeout
def https_open(self, req): def https_open(self, req):
return self.do_open( try:
_build_connection( return self.do_open(
SpeedtestHTTPSConnection, _build_connection(
self.source_address, SpeedtestHTTPSConnection,
self.timeout, self.source_address,
context=self._context, self.timeout,
), context=self._context,
req ),
) req
)
except BadStatusLine:
raise SpeedtestHTTPError(
'Server returned bad status code'
)
https_request = AbstractHTTPHandler.do_request_ https_request = AbstractHTTPHandler.do_request_