MCPcopy
hub / github.com/benoitc/gunicorn / read

Method read

gunicorn/http/body.py:154–183  ·  view source on GitHub ↗
(self, size)

Source from the content-addressed store, hash-verified

152 self.finished = False
153
154 def read(self, size):
155 if not isinstance(size, int):
156 raise TypeError("size must be an integral type")
157 if size < 0:
158 raise ValueError("Size must be positive.")
159 if size == 0:
160 return b""
161
162 if self.finished:
163 data = self.buf.getvalue()
164 ret, rest = data[:size], data[size:]
165 self.buf = io.BytesIO()
166 self.buf.write(rest)
167 return ret
168
169 data = self.unreader.read()
170 while data:
171 self.buf.write(data)
172 if self.buf.tell() > size:
173 break
174 data = self.unreader.read()
175
176 if not data:
177 self.finished = True
178
179 data = self.buf.getvalue()
180 ret, rest = data[:size], data[size:]
181 self.buf = io.BytesIO()
182 self.buf.write(rest)
183 return ret
184
185
186class Body:

Callers 2

test_eof_reader_readFunction · 0.95

Calls 2

writeMethod · 0.45
readMethod · 0.45

Tested by 2

test_eof_reader_readFunction · 0.76