MCPcopy Create free account
hub / github.com/RT-Thread/env-windows / IteratorWrapper

Class IteratorWrapper

tools/python-3.11.9-amd64/Lib/wsgiref/validate.py:263–296  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

261 return IteratorWrapper(self.iterator, None)
262
263class IteratorWrapper:
264
265 def __init__(self, wsgi_iterator, check_start_response):
266 self.original_iterator = wsgi_iterator
267 self.iterator = iter(wsgi_iterator)
268 self.closed = False
269 self.check_start_response = check_start_response
270
271 def __iter__(self):
272 return self
273
274 def __next__(self):
275 assert_(not self.closed,
276 "Iterator read after closed")
277 v = next(self.iterator)
278 if type(v) is not bytes:
279 assert_(False, "Iterator yielded non-bytestring (%r)" % (v,))
280 if self.check_start_response is not None:
281 assert_(self.check_start_response,
282 "The application returns and we started iterating over its body, but start_response has not yet been called")
283 self.check_start_response = None
284 return v
285
286 def close(self):
287 self.closed = True
288 if hasattr(self.original_iterator, 'close'):
289 self.original_iterator.close()
290
291 def __del__(self):
292 if not self.closed:
293 sys.stderr.write(
294 "Iterator garbage collected without being closed")
295 assert_(self.closed,
296 "Iterator garbage collected without being closed")
297
298def check_environ(environ):
299 assert_(type(environ) is dict,

Callers 2

lint_appFunction · 0.85
__iter__Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected