| 8 | |
| 9 | |
| 10 | class HTTPSClient(HTTPClient, TLSHandshake): |
| 11 | def __init__(self, host, path): |
| 12 | if not hasattr(self, '_map'): |
| 13 | asyncore.dispatcher.__init__(self) |
| 14 | self.tlsDone = False |
| 15 | # TLSHandshake.__init__(self, address=(host, 443), certfile='/home/shurdeek/src/PyBitmessage/sslsrc/keys/cert.pem', keyfile='/home/shurdeek/src/PyBitmessage/src/sslkeys/key.pem', server_side=False, ciphers='AECDH-AES256-SHA') |
| 16 | HTTPClient.__init__(self, host, path, connect=False) |
| 17 | TLSHandshake.__init__(self, address=(host, 443), server_side=False) |
| 18 | |
| 19 | def handle_connect(self): |
| 20 | TLSHandshake.handle_connect(self) |
| 21 | |
| 22 | def handle_close(self): |
| 23 | if self.tlsDone: |
| 24 | HTTPClient.close(self) |
| 25 | else: |
| 26 | TLSHandshake.close(self) |
| 27 | |
| 28 | def readable(self): |
| 29 | if self.tlsDone: |
| 30 | return HTTPClient.readable(self) |
| 31 | else: |
| 32 | return TLSHandshake.readable(self) |
| 33 | |
| 34 | def handle_read(self): |
| 35 | if self.tlsDone: |
| 36 | HTTPClient.handle_read(self) |
| 37 | else: |
| 38 | TLSHandshake.handle_read(self) |
| 39 | |
| 40 | def writable(self): |
| 41 | if self.tlsDone: |
| 42 | return HTTPClient.writable(self) |
| 43 | else: |
| 44 | return TLSHandshake.writable(self) |
| 45 | |
| 46 | def handle_write(self): |
| 47 | if self.tlsDone: |
| 48 | HTTPClient.handle_write(self) |
| 49 | else: |
| 50 | TLSHandshake.handle_write(self) |
| 51 | |
| 52 | if __name__ == "__main__": |
| 53 | client = HTTPSClient('anarchy.economicsofbitcoin.com', '/') |