From 3c9af53809d859ecec1331928032f9a7277a9357 Mon Sep 17 00:00:00 2001 From: Everett Toews Date: Mon, 9 Mar 2015 16:26:42 -0500 Subject: [PATCH] Canonical request/response logging The request/response should be logged once and only once per request/response cycle regardless of whether it's a redirect or not. They should be logged immediately before/after the call is made to underlying requests module. Change-Id: Ibf2c4432176992a650a67522aa736f999f67672e --- openstack/transport.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/openstack/transport.py b/openstack/transport.py index 133c9371..bd17e380 100644 --- a/openstack/transport.py +++ b/openstack/transport.py @@ -253,12 +253,8 @@ class Transport(requests.Session): if accept: headers.setdefault('Accept', accept) - self._log_request(method, url, **kwargs) - resp = self._send_request(method, url, redirect, **kwargs) - self._log_response(resp) - try: resp.raise_for_status() except requests.RequestException as e: @@ -282,6 +278,8 @@ class Transport(requests.Session): # POSTs as GETs for certain statuses which is not want we want for an # API. See: https://en.wikipedia.org/wiki/Post/Redirect/Get + self._log_request(method, url, **kwargs) + resp = super(Transport, self).request(method, url, **kwargs) self._log_response(resp)