| 37 | transports = [] |
| 38 | |
| 39 | class HttpRequestHandler: |
| 40 | |
| 41 | def __init__(self, addr): |
| 42 | if isinstance(addr, tuple): |
| 43 | host, port = addr |
| 44 | self.host = host |
| 45 | self.port = port |
| 46 | else: |
| 47 | self.host = host = 'localhost' |
| 48 | self.port = port = 0 |
| 49 | self.address = addr |
| 50 | self._url = '{}://{}:{}'.format( |
| 51 | 'https' if use_ssl else 'http', host, port) |
| 52 | |
| 53 | def __getitem__(self, key): |
| 54 | return properties[key] |
| 55 | |
| 56 | def __setitem__(self, key, value): |
| 57 | properties[key] = value |
| 58 | |
| 59 | def url(self, *suffix): |
| 60 | return urllib.parse.urljoin( |
| 61 | self._url, '/'.join(str(s) for s in suffix)) |
| 62 | |
| 63 | class TestHttpServer(server.ServerHttpProtocol): |
| 64 | |