##// END OF EJS Templates
test-http-bad-server: use more readable name for variable...
marmoute -
r49455:8039cca9 default
parent child Browse files
Show More
@@ -69,17 +69,21 b' class socketproxy(object):'
69 __slots__ = (
69 __slots__ = (
70 '_orig',
70 '_orig',
71 '_logfp',
71 '_logfp',
72 '_closeafterrecvbytes',
72 '_close_after_recv_bytes',
73 '_closeaftersendbytes',
73 '_close_after_send_bytes',
74 )
74 )
75
75
76 def __init__(
76 def __init__(
77 self, obj, logfp, closeafterrecvbytes=0, closeaftersendbytes=0
77 self, obj, logfp, close_after_recv_bytes=0, close_after_send_bytes=0
78 ):
78 ):
79 object.__setattr__(self, '_orig', obj)
79 object.__setattr__(self, '_orig', obj)
80 object.__setattr__(self, '_logfp', logfp)
80 object.__setattr__(self, '_logfp', logfp)
81 object.__setattr__(self, '_closeafterrecvbytes', closeafterrecvbytes)
81 object.__setattr__(
82 object.__setattr__(self, '_closeaftersendbytes', closeaftersendbytes)
82 self, '_close_after_recv_bytes', close_after_recv_bytes
83 )
84 object.__setattr__(
85 self, '_close_after_send_bytes', close_after_send_bytes
86 )
83
87
84 def __getattribute__(self, name):
88 def __getattribute__(self, name):
85 if name in ('makefile', 'sendall', '_writelog'):
89 if name in ('makefile', 'sendall', '_writelog'):
@@ -104,22 +108,22 b' class socketproxy(object):'
104 f = object.__getattribute__(self, '_orig').makefile(mode, bufsize)
108 f = object.__getattribute__(self, '_orig').makefile(mode, bufsize)
105
109
106 logfp = object.__getattribute__(self, '_logfp')
110 logfp = object.__getattribute__(self, '_logfp')
107 closeafterrecvbytes = object.__getattribute__(
111 close_after_recv_bytes = object.__getattribute__(
108 self, '_closeafterrecvbytes'
112 self, '_close_after_recv_bytes'
109 )
113 )
110 closeaftersendbytes = object.__getattribute__(
114 close_after_send_bytes = object.__getattribute__(
111 self, '_closeaftersendbytes'
115 self, '_close_after_send_bytes'
112 )
116 )
113
117
114 return fileobjectproxy(
118 return fileobjectproxy(
115 f,
119 f,
116 logfp,
120 logfp,
117 closeafterrecvbytes=closeafterrecvbytes,
121 close_after_recv_bytes=close_after_recv_bytes,
118 closeaftersendbytes=closeaftersendbytes,
122 close_after_send_bytes=close_after_send_bytes,
119 )
123 )
120
124
121 def sendall(self, data, flags=0):
125 def sendall(self, data, flags=0):
122 remaining = object.__getattribute__(self, '_closeaftersendbytes')
126 remaining = object.__getattribute__(self, '_close_after_send_bytes')
123
127
124 # No read limit. Call original function.
128 # No read limit. Call original function.
125 if not remaining:
129 if not remaining:
@@ -141,7 +145,7 b' class socketproxy(object):'
141 % (len(newdata), len(data), remaining, newdata)
145 % (len(newdata), len(data), remaining, newdata)
142 )
146 )
143
147
144 object.__setattr__(self, '_closeaftersendbytes', remaining)
148 object.__setattr__(self, '_close_after_send_bytes', remaining)
145
149
146 if remaining <= 0:
150 if remaining <= 0:
147 self._writelog(b'write limit reached; closing socket')
151 self._writelog(b'write limit reached; closing socket')
@@ -157,17 +161,21 b' class fileobjectproxy(object):'
157 __slots__ = (
161 __slots__ = (
158 '_orig',
162 '_orig',
159 '_logfp',
163 '_logfp',
160 '_closeafterrecvbytes',
164 '_close_after_recv_bytes',
161 '_closeaftersendbytes',
165 '_close_after_send_bytes',
162 )
166 )
163
167
164 def __init__(
168 def __init__(
165 self, obj, logfp, closeafterrecvbytes=0, closeaftersendbytes=0
169 self, obj, logfp, close_after_recv_bytes=0, close_after_send_bytes=0
166 ):
170 ):
167 object.__setattr__(self, '_orig', obj)
171 object.__setattr__(self, '_orig', obj)
168 object.__setattr__(self, '_logfp', logfp)
172 object.__setattr__(self, '_logfp', logfp)
169 object.__setattr__(self, '_closeafterrecvbytes', closeafterrecvbytes)
173 object.__setattr__(
170 object.__setattr__(self, '_closeaftersendbytes', closeaftersendbytes)
174 self, '_close_after_recv_bytes', close_after_recv_bytes
175 )
176 object.__setattr__(
177 self, '_close_after_send_bytes', close_after_send_bytes
178 )
171
179
172 def __getattribute__(self, name):
180 def __getattribute__(self, name):
173 if name in ('_close', 'read', 'readline', 'write', '_writelog'):
181 if name in ('_close', 'read', 'readline', 'write', '_writelog'):
@@ -202,7 +210,7 b' class fileobjectproxy(object):'
202 self._sock.shutdown(socket.SHUT_RDWR)
210 self._sock.shutdown(socket.SHUT_RDWR)
203
211
204 def read(self, size=-1):
212 def read(self, size=-1):
205 remaining = object.__getattribute__(self, '_closeafterrecvbytes')
213 remaining = object.__getattribute__(self, '_close_after_recv_bytes')
206
214
207 # No read limit. Call original function.
215 # No read limit. Call original function.
208 if not remaining:
216 if not remaining:
@@ -227,7 +235,7 b' class fileobjectproxy(object):'
227 % (size, origsize, len(result), result)
235 % (size, origsize, len(result), result)
228 )
236 )
229
237
230 object.__setattr__(self, '_closeafterrecvbytes', remaining)
238 object.__setattr__(self, '_close_after_recv_bytes', remaining)
231
239
232 if remaining <= 0:
240 if remaining <= 0:
233 self._writelog(b'read limit reached; closing socket')
241 self._writelog(b'read limit reached; closing socket')
@@ -239,7 +247,7 b' class fileobjectproxy(object):'
239 return result
247 return result
240
248
241 def readline(self, size=-1):
249 def readline(self, size=-1):
242 remaining = object.__getattribute__(self, '_closeafterrecvbytes')
250 remaining = object.__getattribute__(self, '_close_after_recv_bytes')
243
251
244 # No read limit. Call original function.
252 # No read limit. Call original function.
245 if not remaining:
253 if not remaining:
@@ -264,7 +272,7 b' class fileobjectproxy(object):'
264 % (size, origsize, len(result), result)
272 % (size, origsize, len(result), result)
265 )
273 )
266
274
267 object.__setattr__(self, '_closeafterrecvbytes', remaining)
275 object.__setattr__(self, '_close_after_recv_bytes', remaining)
268
276
269 if remaining <= 0:
277 if remaining <= 0:
270 self._writelog(b'read limit reached; closing socket')
278 self._writelog(b'read limit reached; closing socket')
@@ -276,7 +284,7 b' class fileobjectproxy(object):'
276 return result
284 return result
277
285
278 def write(self, data):
286 def write(self, data):
279 remaining = object.__getattribute__(self, '_closeaftersendbytes')
287 remaining = object.__getattribute__(self, '_close_after_send_bytes')
280
288
281 # No byte limit on this operation. Call original function.
289 # No byte limit on this operation. Call original function.
282 if not remaining:
290 if not remaining:
@@ -298,7 +306,7 b' class fileobjectproxy(object):'
298
306
299 result = object.__getattribute__(self, '_orig').write(newdata)
307 result = object.__getattribute__(self, '_orig').write(newdata)
300
308
301 object.__setattr__(self, '_closeaftersendbytes', remaining)
309 object.__setattr__(self, '_close_after_send_bytes', remaining)
302
310
303 if remaining <= 0:
311 if remaining <= 0:
304 self._writelog(b'write limit reached; closing socket')
312 self._writelog(b'write limit reached; closing socket')
@@ -319,10 +327,10 b' def extsetup(ui):'
319
327
320 recvbytes = self._ui.config(b'badserver', b'close-after-recv-bytes')
328 recvbytes = self._ui.config(b'badserver', b'close-after-recv-bytes')
321 recvbytes = recvbytes.split(b',')
329 recvbytes = recvbytes.split(b',')
322 self.closeafterrecvbytes = [int(v) for v in recvbytes if v]
330 self.close_after_recv_bytes = [int(v) for v in recvbytes if v]
323 sendbytes = self._ui.config(b'badserver', b'close-after-send-bytes')
331 sendbytes = self._ui.config(b'badserver', b'close-after-send-bytes')
324 sendbytes = sendbytes.split(b',')
332 sendbytes = sendbytes.split(b',')
325 self.closeaftersendbytes = [int(v) for v in sendbytes if v]
333 self.close_after_send_bytes = [int(v) for v in sendbytes if v]
326
334
327 # Need to inherit object so super() works.
335 # Need to inherit object so super() works.
328 class badrequesthandler(self.RequestHandlerClass, object):
336 class badrequesthandler(self.RequestHandlerClass, object):
@@ -362,21 +370,21 b' def extsetup(ui):'
362 # is a hgweb.server._httprequesthandler.
370 # is a hgweb.server._httprequesthandler.
363 def process_request(self, socket, address):
371 def process_request(self, socket, address):
364 # Wrap socket in a proxy if we need to count bytes.
372 # Wrap socket in a proxy if we need to count bytes.
365 if self.closeafterrecvbytes:
373 if self.close_after_recv_bytes:
366 closeafterrecvbytes = self.closeafterrecvbytes.pop(0)
374 close_after_recv_bytes = self.close_after_recv_bytes.pop(0)
367 else:
375 else:
368 closeafterrecvbytes = 0
376 close_after_recv_bytes = 0
369 if self.closeaftersendbytes:
377 if self.close_after_send_bytes:
370 closeaftersendbytes = self.closeaftersendbytes.pop(0)
378 close_after_send_bytes = self.close_after_send_bytes.pop(0)
371 else:
379 else:
372 closeaftersendbytes = 0
380 close_after_send_bytes = 0
373
381
374 if closeafterrecvbytes or closeaftersendbytes:
382 if close_after_recv_bytes or close_after_send_bytes:
375 socket = socketproxy(
383 socket = socketproxy(
376 socket,
384 socket,
377 self.errorlog,
385 self.errorlog,
378 closeafterrecvbytes=closeafterrecvbytes,
386 close_after_recv_bytes=close_after_recv_bytes,
379 closeaftersendbytes=closeaftersendbytes,
387 close_after_send_bytes=close_after_send_bytes,
380 )
388 )
381
389
382 return super(badserver, self).process_request(socket, address)
390 return super(badserver, self).process_request(socket, address)
General Comments 0
You need to be logged in to leave comments. Login now