mirror of
https://github.com/certbot/certbot.git
synced 2026-06-03 22:08:07 -04:00
Incorporate feedback from 4113 (#4115)
This commit is contained in:
parent
a1b1ae25ae
commit
240438eec7
2 changed files with 17 additions and 9 deletions
|
|
@ -681,16 +681,14 @@ class ClientNetwork(object): # pylint: disable=too-many-instance-attributes
|
|||
be retried once.
|
||||
|
||||
"""
|
||||
should_retry = True
|
||||
while True:
|
||||
try:
|
||||
try:
|
||||
return self._post_once(*args, **kwargs)
|
||||
except messages.Error as error:
|
||||
if error.code == 'badNonce':
|
||||
logger.debug('Retrying request after error:\n%s', error)
|
||||
return self._post_once(*args, **kwargs)
|
||||
except messages.Error as error:
|
||||
if should_retry and error.code == 'badNonce':
|
||||
logger.debug('Retrying request after error:\n%s', error)
|
||||
should_retry = False
|
||||
else:
|
||||
raise
|
||||
else:
|
||||
raise
|
||||
|
||||
def _post_once(self, url, obj, content_type=JOSE_CONTENT_TYPE, **kwargs):
|
||||
data = self._wrap_in_jws(obj, self._get_nonce(url))
|
||||
|
|
|
|||
|
|
@ -717,6 +717,16 @@ class ClientNetworkWithMockedResponseTest(unittest.TestCase):
|
|||
self.assertRaises(messages.Error, self.net.post, 'uri',
|
||||
self.obj, content_type=self.content_type)
|
||||
|
||||
def test_post_not_retried(self):
|
||||
check_response = mock.MagicMock()
|
||||
check_response.side_effect = [messages.Error.with_code('malformed'),
|
||||
self.checked_response]
|
||||
|
||||
# pylint: disable=protected-access
|
||||
self.net._check_response = check_response
|
||||
self.assertRaises(messages.Error, self.net.post, 'uri',
|
||||
self.obj, content_type=self.content_type)
|
||||
|
||||
def test_post_successful_retry(self):
|
||||
check_response = mock.MagicMock()
|
||||
check_response.side_effect = [messages.Error.with_code('badNonce'),
|
||||
|
|
|
|||
Loading…
Reference in a new issue