Update qa from Bitcoin Core 0.13.2

This commit is contained in:
lateminer
2018-11-10 18:07:40 +03:00
parent cceb5fb27a
commit 34b50d3645
72 changed files with 2925 additions and 1039 deletions

View File

@@ -42,6 +42,7 @@ import base64
import decimal
import json
import logging
import socket
try:
import urllib.parse as urlparse
except ImportError:
@@ -126,6 +127,12 @@ class AuthServiceProxy(object):
return self._get_response()
else:
raise
except (BrokenPipeError,ConnectionResetError):
# Python 3.5+ raises BrokenPipeError instead of BadStatusLine when the connection was reset
# ConnectionResetError happens on FreeBSD with Python 3.4
self.__conn.close()
self.__conn.request(method, path, postdata, headers)
return self._get_response()
def __call__(self, *args):
AuthServiceProxy.__id_count += 1
@@ -151,7 +158,15 @@ class AuthServiceProxy(object):
return self._request('POST', self.__url.path, postdata.encode('utf-8'))
def _get_response(self):
http_response = self.__conn.getresponse()
try:
http_response = self.__conn.getresponse()
except socket.timeout as e:
raise JSONRPCException({
'code': -344,
'message': '%r RPC took longer than %f seconds. Consider '
'using larger timeout for calls that take '
'longer to return.' % (self._service_name,
self.__conn.timeout)})
if http_response is None:
raise JSONRPCException({
'code': -342, 'message': 'missing HTTP response from server'})