def request(self, *, url: str, method: str, data=None) -> Tuple[int, Any]:
if data is None:
data = {}
if method not in {'POST', 'PUT'}:
data = None
body = json.dumps(data) if data is not None else None
full_url = self.prefix + url
log.info('request', url=strip_auth(full_url), method=method, body=body)
response: ClientResponse = await self.session.request(
url=full_url,
method=method,
data=body
)
response_body = await response.read()
try:
data = json.loads(response_body)
except JSONDecodeError as exc:
log.error('json-decode', body=response_body)
data = {
'error': '!internal',
'message': str(exc),
'stacktrace': ''
}
wrap_screen(data)
log.info('response', url=strip_auth(full_url), method=method, body=body, response=response, data=data)
return response.status, data
评论列表
文章目录