def _rest_request(self, url, data, session, verb):
headers = {'Content-type': 'application/json'}
if session:
headers["Cookie"] = "session_cookie=%s" % session
LOG.debug("verb:%(verb)s url:%(url)s "
"headers:%(headers)s data:%(data)s", {
'verb': verb, 'url': url,
'headers': headers, 'data': data})
request = urllib2.Request(url, data, headers)
request.get_method = lambda: verb
response = urllib2.urlopen(request)
code = response.code
result = response.read()
log_result = result
if len(result) > LOG_STRING_LEN:
log_result = result.replace("\n", "")[:LOG_STRING_LEN] + " ..."
LOG.debug("code:%(code)s result:%(result)s",
{'code': code, 'result': log_result})
if code not in range(200, 300):
raise BCFRestError(code=code, result=result,
method=verb, url=url, data=data)
return (code, result)
评论列表
文章目录