From ed20c7fded6ba5dfb7124bf223d9bf9b3e213ab3 Mon Sep 17 00:00:00 2001 From: Ivan Habunek Date: Mon, 17 Apr 2017 11:10:57 +0200 Subject: [PATCH] More extensive request logging --- toot/api.py | 68 +++++++++++++++++++++++++++++++++-------------------- 1 file changed, 43 insertions(+), 25 deletions(-) diff --git a/toot/api.py b/toot/api.py index 4643815..10b23c8 100644 --- a/toot/api.py +++ b/toot/api.py @@ -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