Mercurial > public > mercurial-scm > hg
comparison mercurial/httpclient/tests/util.py @ 14376:a75e0f4ba0ab
httpclient: import revision fc731618702a of py-nonblocking-http
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Tue, 17 May 2011 10:28:03 -0500 |
parents | 5c3de67e7402 |
children | 494b26ad8736 |
comparison
equal
deleted
inserted
replaced
14375:436e5379d7ba | 14376:a75e0f4ba0ab |
---|---|
86 | 86 |
87 @property | 87 @property |
88 def ready_for_read(self): | 88 def ready_for_read(self): |
89 return ((self.early_data and http._END_HEADERS in self.sent) | 89 return ((self.early_data and http._END_HEADERS in self.sent) |
90 or (self.read_wait_sentinel in self.sent and self.data) | 90 or (self.read_wait_sentinel in self.sent and self.data) |
91 or self.closed) | 91 or self.closed or self.remote_closed) |
92 | 92 |
93 def send(self, data): | 93 def send(self, data): |
94 # this is a horrible mock, but nothing needs us to raise the | 94 # this is a horrible mock, but nothing needs us to raise the |
95 # correct exception yet | 95 # correct exception yet |
96 assert not self.closed, 'attempted to write to a closed socket' | 96 assert not self.closed, 'attempted to write to a closed socket' |
114 self._sock = sock | 114 self._sock = sock |
115 self._fail_recv = True | 115 self._fail_recv = True |
116 | 116 |
117 def __getattr__(self, key): | 117 def __getattr__(self, key): |
118 return getattr(self._sock, key) | 118 return getattr(self._sock, key) |
119 | |
120 def __setattr__(self, key, value): | |
121 if key not in ('_sock', '_fail_recv'): | |
122 return setattr(self._sock, key, value) | |
123 return object.__setattr__(self, key, value) | |
119 | 124 |
120 def recv(self, amt=-1): | 125 def recv(self, amt=-1): |
121 try: | 126 try: |
122 if self._fail_recv: | 127 if self._fail_recv: |
123 raise socket.sslerror(socket.SSL_ERROR_WANT_READ) | 128 raise socket.sslerror(socket.SSL_ERROR_WANT_READ) |