Spaces:
Running
Running
File size: 831 Bytes
64721de 35e3254 64721de 35e3254 64721de 35e3254 64721de 35e3254 64721de 35e3254 64721de |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
import time
from requests_futures.sessions import FuturesSession
class ElapsedFuturesSession(FuturesSession):
def request(self, method, url, hooks=None, *args, **kwargs):
start = time.time()
if hooks is None:
hooks = {}
def timing(r, *args, **kwargs):
r.elapsed = round((time.time() - start) * 1000, 2)
try:
if isinstance(hooks["response"], (list, tuple)):
# needs to be first so we don't time other hooks execution
hooks["response"].insert(0, timing)
else:
hooks["response"] = [timing, hooks["response"]]
except KeyError:
hooks["response"] = timing
return super(ElapsedFuturesSession, self).request(
method, url, hooks=hooks, *args, **kwargs
)
|