@@ -177,23 +177,30 @@ class DetailedResponse(object):
177177
178178 :param Response response: Either json response or http Response as requested.
179179 :param dict headers: A dict of response headers
180+ :param str status_code: HTTP response code
180181 """
181- def __init__ (self , response = None , headers = None ):
182+ def __init__ (self , response = None , headers = None , status_code = None ):
182183 self .result = response
183184 self .headers = headers
185+ self .status_code = status_code
184186
185187 def get_result (self ):
186188 return self .result
187189
188190 def get_headers (self ):
189191 return self .headers
190192
193+ def get_status_code (self ):
194+ return self .status_code
195+
191196 def _to_dict (self ):
192197 _dict = {}
193198 if hasattr (self , 'result' ) and self .result is not None :
194199 _dict ['result' ] = self .result if isinstance (self .result , dict ) else 'HTTP response'
195200 if hasattr (self , 'headers' ) and self .headers is not None :
196201 _dict ['headers' ] = self .headers
202+ if hasattr (self , 'status_code' ) and self .status_code is not None :
203+ _dict ['status_code' ] = self .status_code
197204 return _dict
198205
199206 def __str__ (self ):
@@ -442,7 +449,7 @@ def request(self, method, url, accept_json=False, headers=None,
442449
443450 if 200 <= response .status_code <= 299 :
444451 if response .status_code == 204 :
445- return DetailedResponse (None , response .headers ) if self .detailed_response else None
452+ return DetailedResponse (None , response .headers , response . status_code ) if self .detailed_response else None
446453 if accept_json :
447454 response_json = response .json ()
448455 if 'status' in response_json and response_json ['status' ] \
@@ -455,8 +462,8 @@ def request(self, method, url, accept_json=False, headers=None,
455462 if error_message == 'invalid-api-key' :
456463 status_code = 401
457464 raise WatsonApiException (status_code , error_message , httpResponse = response )
458- return DetailedResponse (response_json , response .headers ) if self .detailed_response else response_json
459- return DetailedResponse (response , response .headers ) if self .detailed_response else response
465+ return DetailedResponse (response_json , response .headers , response . status_code ) if self .detailed_response else response_json
466+ return DetailedResponse (response , response .headers , response . status_code ) if self .detailed_response else response
460467 else :
461468 if response .status_code == 401 :
462469 error_message = 'Unauthorized: Access is denied due to ' \
0 commit comments