def __init__(self, url, method='GET', on_ready=None, on_timeout=None, on_stream=None, on_prepare=None, on_header=None, headers=None, **kwargs): self.url = url self.method = method or self.method self.on_ready = maybe_promise(on_ready) or promise() self.on_timeout = maybe_promise(on_timeout) self.on_stream = maybe_promise(on_stream) self.on_prepare = maybe_promise(on_prepare) self.on_header = maybe_promise(on_header) if kwargs: for k, v in items(kwargs): setattr(self, k, v) if not isinstance(headers, Headers): headers = Headers(headers or {}) self.headers = headers
def test_when_promise(self): p = promise() self.assertIs(maybe_promise(p), p)
def test_when_other(self): m = Mock() p = maybe_promise(m) self.assertIsInstance(p, Thenable)
def test_when_none(self): self.assertIsNone(maybe_promise(None))