MCPcopy
hub / github.com/USArmyResearchLab/Dshell / handleresponse

Method handleresponse

dshell/plugins/http/riphttp.py:151–180  ·  view source on GitHub ↗
(self, response)

Source from the content-addressed store, hash-verified

149 ls, le = s, e
150
151 def handleresponse(self, response):
152 # Check for Content Range
153 range_start = 0
154 range_end = len(response.body) - 1
155 if 'content-range' in response.headers:
156 m = re.search(
157 'bytes (\d+)-(\d+)/(\d+|\*)', response.headers['content-range'])
158 if m:
159 range_start = int(m.group(1))
160 range_end = int(m.group(2))
161 if len(response.body) < (range_end - range_start + 1):
162 range_end = range_start + len(response.body) - 1
163 try:
164 if int(m.group(3)) > self.size:
165 self.size = int(m.group(3))
166 except:
167 pass
168 elif 'content-length' in response.headers:
169 try:
170 if int(response.headers['content-length']) > self.size:
171 self.size = int(response.headers['content-length'])
172 except:
173 pass
174 # Update range tracking
175 self.ranges.append((range_start, range_end))
176 # Write part of file
177 if self.fh is not None:
178 self.fh.seek(range_start)
179 self.fh.write(response.body)
180 return (range_start, range_end)
181
182 def done(self):
183 self.checkranges()

Callers 1

http_handlerMethod · 0.80

Calls 1

writeMethod · 0.45

Tested by

no test coverage detected