from requests import session

from orionclient.utils import Backoff


def retry_get_with_backoff(url, attempts=10, request_timeout=10):
    sess = session()
    tries = 0
    sleeper = Backoff()
    resp = None
    while tries < attempts:
        resp = sess.get(url, timeout=request_timeout)
        if not resp.ok:
            tries += 1
            sleeper.sleep()
            continue
        return resp
    return resp
