MCPcopy Create free account
hub / github.com/boy-hack/hack-requests / response

Class response

HackRequests/HackRequests.py:340–439  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

338
339
340class response(object):
341
342 def __init__(self, rep, redirect, log, oldcookie=''):
343 self.rep = rep
344 self.status_code = self.rep.status # response code
345 self.url = redirect
346 self._content = b''
347
348 _header_dict = dict()
349 self.cookie = ""
350 for k, v in self.rep.getheaders():
351 _header_dict[k] = v
352 # handle cookie
353 if k == "Set-Cookie":
354 if ";" in v:
355 self.cookie += v.strip().split(";")[0] + "; "
356 else:
357 self.cookie = v.strip() + "; "
358
359 if oldcookie:
360 cookie_dict = self._cookie_update(oldcookie, self.cookie)
361 self.cookie = ""
362 for k, v in cookie_dict.items():
363 self.cookie += "{}={}; ".format(k, v)
364 self.cookie = self.cookie.rstrip("; ")
365 try:
366 self.cookies = extract_dict(self.cookie, "; ", "=")
367 except:
368 self.cookies = {}
369
370 self.headers = _header_dict
371 self.header = self.rep.msg # response header
372 self.log = log
373 charset = self.rep.msg.get('content-type', 'utf-8')
374 try:
375 self.charset = charset.split("charset=")[1]
376 except:
377 self.charset = "utf-8"
378
379 def content(self):
380 if self._content:
381 return self._content
382 encode = self.rep.msg.get('content-encoding', None)
383 try:
384 body = self.rep.read()
385 except socket.timeout:
386 body = b''
387 if encode == 'gzip':
388 body = gzip.decompress(body)
389 elif encode == 'deflate':
390 try:
391 body = zlib.decompress(body, -zlib.MAX_WBITS)
392 except:
393 body = zlib.decompress(body)
394 # redirect = self.rep.msg.get('location', None) # handle 301/302
395 self._content = body
396 return body
397

Callers 2

httprawMethod · 0.85
httpMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected