def _created_proxy_response(self, request, path):
request_payload = request.body
self.log.debug("Request headers: %s", self.request_headers)
path = quote_plus(path.encode('utf8'), QUOTE_SAFE)
request_url = (self.upstream + '/' if path and self.upstream[-1] != '/' else self.upstream) + path
self.log.debug("Request URL: %s", request_url)
if request.GET:
get_data = encode_items(request.GET.lists())
request_url += '?' + urlencode(get_data)
self.log.debug("Request URL: %s", request_url)
try:
proxy_response = self.http.urlopen(
request.method,
request_url,
redirect=False,
retries=self.retries,
headers=self.request_headers,
body=request_payload,
decode_content=False,
preload_content=False
)
self.log.debug("Proxy response header: %s", proxy_response.getheaders())
except urllib3.exceptions.HTTPError as error:
self.log.exception(error)
raise
return proxy_response
评论列表
文章目录