More extensive request logging

This commit is contained in:
Ivan Habunek 2017-04-17 11:10:57 +02:00
parent c3bafd56d8
commit ed20c7fded
No known key found for this signature in database
GPG Key ID: CDBD63C43A30BB95
1 changed files with 43 additions and 25 deletions

View File

@ -20,12 +20,19 @@ class NotFoundError(ApiError):
pass
def _log_request(request, prepared_request):
def _log_request(request):
logger.debug(">>> \033[32m{} {}\033[0m".format(request.method, request.url))
logger.debug(">>> DATA: \033[33m{}\033[0m".format(request.data))
logger.debug(">>> FILES: \033[33m{}\033[0m".format(request.files))
logger.debug(">>> HEADERS: \033[33m{}\033[0m".format(request.headers))
if request.data:
logger.debug(">>> DATA: \033[33m{}\033[0m".format(request.data))
if request.files:
logger.debug(">>> FILES: \033[33m{}\033[0m".format(request.files))
if request.params:
logger.debug(">>> PARAMS: \033[33m{}\033[0m".format(request.params))
def _log_response(response):
if response.ok:
@ -36,28 +43,7 @@ def _log_response(response):
logger.debug("<<< \033[31m{}\033[0m".format(response.content))
def _get(app, user, url, params=None):
url = app.base_url + url
headers = {"Authorization": "Bearer " + user.access_token}
response = requests.get(url, params, headers=headers)
response.raise_for_status()
return response.json()
def _post(app, user, url, data=None, files=None):
url = app.base_url + url
headers = {"Authorization": "Bearer " + user.access_token}
session = Session()
request = Request('POST', url, headers, files, data)
prepared_request = request.prepare()
_log_request(request, prepared_request)
response = session.send(prepared_request)
def _process_response(response):
_log_response(response)
if not response.ok:
@ -76,6 +62,32 @@ def _post(app, user, url, data=None, files=None):
return response.json()
def _get(app, user, url, params=None):
url = app.base_url + url
headers = {"Authorization": "Bearer " + user.access_token}
_log_request(Request('GET', url, headers, params=params))
response = requests.get(url, params, headers=headers)
return _process_response(response)
def _post(app, user, url, data=None, files=None):
url = app.base_url + url
headers = {"Authorization": "Bearer " + user.access_token}
session = Session()
request = Request('POST', url, headers, files, data)
prepared_request = request.prepare()
_log_request(request)
response = session.send(prepared_request)
return _process_response(response)
def create_app(base_url):
url = base_url + '/api/v1/apps'
@ -140,6 +152,12 @@ def search(app, user, query, resolve):
})
def search_accounts(app, user, query):
return _get(app, user, '/api/v1/accounts/search', {
'q': query,
})
def follow(app, user, account):
url = '/api/v1/accounts/%d/follow' % account