MCPcopy Index your code
hub / github.com/fluentpython/example-code-2e / _iter_chunked

Method _iter_chunked

21-async/mojifinder/bottle.py:1140–1165  ·  view source on GitHub ↗
(self, read, bufsize)

Source from the content-addressed store, hash-verified

1138 maxread -= len(part)
1139
1140 def _iter_chunked(self, read, bufsize):
1141 err = HTTPError(400, 'Error while parsing chunked transfer body.')
1142 rn, sem, bs = tob('\r\n'), tob(';'), tob('')
1143 while True:
1144 header = read(1)
1145 while header[-2:] != rn:
1146 c = read(1)
1147 header += c
1148 if not c: raise err
1149 if len(header) > bufsize: raise err
1150 size, _, _ = header.partition(sem)
1151 try:
1152 maxread = int(tonat(size.strip()), 16)
1153 except ValueError:
1154 raise err
1155 if maxread == 0: break
1156 buff = bs
1157 while maxread > 0:
1158 if not buff:
1159 buff = read(min(maxread, bufsize))
1160 part, buff = buff[:maxread], buff[maxread:]
1161 if not part: raise err
1162 yield part
1163 maxread -= len(part)
1164 if read(2) != rn:
1165 raise err
1166
1167 @DictProperty('environ', 'bottle.request.body', read_only=True)
1168 def _body(self):

Callers

nothing calls this directly

Calls 3

HTTPErrorClass · 0.85
tobFunction · 0.85
readFunction · 0.85

Tested by

no test coverage detected