@@ -72,13 +72,7 @@ def request(self, method, url, params=None, data=None, headers=None, auth=None,
7272 'hooks' : self .request_hooks
7373 }
7474
75- if params :
76- self .logger .info ('{method} Request: {url}?{query}' .format (query = urlencode (params ), ** kwargs ))
77- self .logger .info ('PARAMS: {params}' .format (** kwargs ))
78- else :
79- self .logger .info ('{method} Request: {url}' .format (** kwargs ))
80- if data :
81- self .logger .info ('PAYLOAD: {data}' .format (** kwargs ))
75+ self ._log_request (kwargs )
8276
8377 self .last_response = None
8478 session = self .session or Session ()
@@ -94,10 +88,30 @@ def request(self, method, url, params=None, data=None, headers=None, auth=None,
9488 timeout = timeout if timeout is not None else self .timeout ,
9589 )
9690
97- self .logger .info ('{method} Response: {status} {text}' .format (
98- method = method , status = response .status_code , text = response .text )
99- )
91+ self ._log_response (response )
10092
10193 self .last_response = Response (int (response .status_code ), response .text , response .headers )
10294
10395 return self .last_response
96+
97+ def _log_request (self , kwargs ):
98+ self .logger .info ('-- BEGIN Twilio API Request --' )
99+
100+ if kwargs ['params' ]:
101+ self .logger .info ('{} Request: {}?{}' .format (kwargs ['method' ], kwargs ['url' ], urlencode (kwargs ['params' ])))
102+ self .logger .info ('Query Params: {}' .format (kwargs ['params' ]))
103+ else :
104+ self .logger .info ('{} Request: {}' .format (kwargs ['method' ], kwargs ['url' ]))
105+
106+ if kwargs ['headers' ]:
107+ self .logger .info ('Headers:' )
108+ for key , value in kwargs ['headers' ].items ():
109+ # Do not log authorization headers
110+ if 'authorization' not in key .lower ():
111+ self .logger .info ('{} : {}' .format (key , value ))
112+
113+ self .logger .info ('-- END Twilio API Request --' )
114+
115+ def _log_response (self , response ):
116+ self .logger .info ('Response Status Code: {}' .format (response .status_code ))
117+ self .logger .info ('Response Headers: {}' .format (response .headers ))
0 commit comments