diff --git a/freqtrade/exchange/bittrex.py b/freqtrade/exchange/bittrex.py index 5a8a602d2..a5fd68016 100644 --- a/freqtrade/exchange/bittrex.py +++ b/freqtrade/exchange/bittrex.py @@ -1,4 +1,5 @@ import logging +import requests from typing import Dict, List, Optional from bittrex.bittrex import Bittrex as _Bittrex @@ -14,6 +15,20 @@ _API: _Bittrex = None _API_V2: _Bittrex = None _EXCHANGE_CONF: dict = {} +# API socket timeout +API_TIMEOUT = 60 + + +def custom_requests(request_url, apisign): + """ + Set timeout for requests + """ + return requests.get( + request_url, + headers={"apisign": apisign}, + timeout=API_TIMEOUT + ).json() + class Bittrex(Exchange): """ @@ -32,12 +47,14 @@ class Bittrex(Exchange): api_secret=_EXCHANGE_CONF['secret'], calls_per_second=1, api_version=API_V1_1, + dispatch=custom_requests ) _API_V2 = _Bittrex( api_key=_EXCHANGE_CONF['key'], api_secret=_EXCHANGE_CONF['secret'], calls_per_second=1, api_version=API_V2_0, + dispatch=custom_requests ) self.cached_ticker = {} diff --git a/freqtrade/main.py b/freqtrade/main.py index 513f33b3b..c404d6c11 100755 --- a/freqtrade/main.py +++ b/freqtrade/main.py @@ -10,7 +10,6 @@ from typing import Dict, List, Optional import arrow import requests -from requests.adapters import TimeoutSauce from cachetools import cached, TTLCache from freqtrade import (DependencyException, OperationalException, __version__, @@ -25,23 +24,6 @@ logger = logging.getLogger('freqtrade') _CONF = {} -DEFAULT_TIMEOUT = 120 - - -# Set requests default timeout (fix for #127) -class DefaultTimeout(TimeoutSauce): - def __init__(self, *args, **kwargs): - connect = kwargs.get('connect', DEFAULT_TIMEOUT) - read = kwargs.get('read', connect) - if connect is None: - connect = DEFAULT_TIMEOUT - if read is None: - read = connect - super(DefaultTimeout, self).__init__(connect=connect, read=read) - - -requests.adapters.TimeoutSauce = DefaultTimeout - def refresh_whitelist(whitelist: List[str]) -> List[str]: """