__init__.py (1191B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\lib\cherrypy\lib\__init__.py 2 from cherrypy.lib.reprconf import _Builder, unrepr, modules, attributes 3 4 class file_generator(object): 5 6 def __init__(self, input, chunkSize = 65536): 7 self.input = input 8 self.chunkSize = chunkSize 9 10 def __iter__(self): 11 return self 12 13 def __next__(self): 14 chunk = self.input.read(self.chunkSize) 15 if chunk: 16 return chunk 17 if hasattr(self.input, 'close'): 18 self.input.close() 19 raise StopIteration() 20 21 next = __next__ 22 23 24 def file_generator_limited(fileobj, count, chunk_size = 65536): 25 remaining = count 26 while remaining > 0: 27 chunk = fileobj.read(min(chunk_size, remaining)) 28 chunklen = len(chunk) 29 if chunklen == 0: 30 return 31 remaining -= chunklen 32 yield chunk 33 34 35 def set_vary_header(response, header_name): 36 varies = response.headers.get('Vary', '') 37 varies = [ x.strip() for x in varies.split(',') if x.strip() ] 38 if header_name not in varies: 39 varies.append(header_name) 40 response.headers['Vary'] = ', '.join(varies)