':param status: the response status int, or a tuple of
([expect_status, ...], response_status)
:param expect_sleep: float, time to eventlet sleep during expect, can
be a iter of floats
:param response_sleep: float, time to eventlet sleep during response'

def __init__(self, status, expect_sleep=None, response_sleep=None):

    if isinstance(status, (Exception, eventlet.Timeout)):
        raise status
    if isinstance(status, tuple):
        self.expect_status = list(status[:(-1)])
        self.status = status[(-1)]
        self.explicit_expect_list = True
    else:
        (self.expect_status, self.status) = ([], status)
        self.explicit_expect_list = False
    if (not self.expect_status):
        if (self.status in (507, 412, 409)):
            self.expect_status = [status]
        else:
            self.expect_status = [100, 100]
    if (not isinstance(expect_sleep, (list, tuple))):
        expect_sleep = ([expect_sleep] * len(self.expect_status))
    self.expect_sleep_list = list(expect_sleep)
    while (len(self.expect_sleep_list) < len(self.expect_status)):
        self.expect_sleep_list.append(None)
    self.response_sleep = response_sleep
