Introduction
Introduction Statistics Contact Development Disclaimer Help
More extensive POST request logging - toot - Unnamed repository; edit this file…
Log
Files
Refs
LICENSE
---
commit c2625d536fd6fc7a8eba743a006fa42ddd7d99d7
parent fd08b3884a1d50957af9f087545ad60518acec2d
Author: Ivan Habunek <[email protected]>
Date: Sat, 15 Apr 2017 11:55:33 +0200
More extensive POST request logging
Diffstat:
toot/__init__.py | 28 +++++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
---
diff --git a/toot/__init__.py b/toot/__init__.py
@@ -1,6 +1,8 @@
+import logging
import requests
from collections import namedtuple
+from requests import Request, Session
App = namedtuple('App', ['base_url', 'client_id', 'client_secret'])
User = namedtuple('User', ['username', 'access_token'])
@@ -9,6 +11,21 @@ APP_NAME = 'toot'
DEFAULT_INSTANCE = 'mastodon.social'
+logger = logging.getLogger('toot')
+
+
+def _log_request(request, prepared_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))
+
+
+def _log_response(response):
+ logger.debug("<<< \033[32m{}\033[0m".format(response))
+ logger.debug("<<< \033[33m{}\033[0m".format(response.json()))
+
+
def _get(app, user, url, params=None):
url = app.base_url + url
headers = {"Authorization": "Bearer " + user.access_token}
@@ -23,7 +40,16 @@ def _post(app, user, url, data=None, files=None):
url = app.base_url + url
headers = {"Authorization": "Bearer " + user.access_token}
- response = requests.post(url, data, files=files, headers=headers)
+ session = Session()
+ request = Request('POST', url, headers, files, data)
+ prepared_request = request.prepare()
+
+ _log_request(request, prepared_request)
+
+ response = session.send(prepared_request)
+
+ _log_response(response)
+
response.raise_for_status()
return response.json()
You are viewing proxied material from vernunftzentrum.de. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.