@@ -17,7 +17,9 @@ def __init__(self, **options):
1717 :param string password: (optional). Password used for authentication.
1818 :param dict requests: (optional). Connection options.
1919 :param string impersonate: (optional). Username to impersonate.
20+ :param bool return_raw_response (optional). Whether to return raw or json encoded responses.
2021 """
22+ self .return_raw_response = options .pop ('return_raw_response' , False )
2123 self .requests = dict (dict (headers = {}, params = {}, data = {}), ** options .get ('requests' , {}))
2224
2325 if options .get ('impersonate' ) is not None :
@@ -59,7 +61,7 @@ def construct_request_kwargs(method, headers, params, data):
5961
6062 return kwargs
6163
62- def request (self , method , url , headers = None , params = None , data = None , return_raw = False ):
64+ def request (self , method , url , headers = None , params = None , data = None ):
6365 """
6466 Makes a single request to Redmine and returns processed response.
6567
@@ -69,10 +71,9 @@ def request(self, method, url, headers=None, params=None, data=None, return_raw=
6971 :param dict params: (optional). Params to send in the query string.
7072 :param data: (optional). Data to send in the body of the request.
7173 :type data: dict, bytes or file-like object
72- :param bool return_raw: (optional). Whether to return raw or json encoded response.
7374 """
7475 kwargs = self .construct_request_kwargs (method , headers , params , data )
75- return self .process_response (self .session .request (method , url , ** kwargs ), return_raw )
76+ return self .process_response (self .session .request (method , url , ** kwargs ))
7677
7778 def bulk_request (self , method , url , container , ** params ):
7879 """
@@ -125,13 +126,11 @@ def process_bulk_request(self, method, url, container, bulk_params):
125126 """
126127 raise NotImplementedError
127128
128- @staticmethod
129- def process_response (response , return_raw = False ):
129+ def process_response (self , response ):
130130 """
131131 Processes response received from Redmine.
132132
133133 :param obj response: (required). Response object with response details.
134- :param bool return_raw: (optional). Whether to return raw or json encoded response.
135134 """
136135 if response .history :
137136 r = response .history [0 ]
@@ -141,7 +140,7 @@ def process_response(response, return_raw=False):
141140 status_code = response .status_code
142141
143142 if status_code in (200 , 201 , 204 ):
144- if return_raw :
143+ if self . return_raw_response :
145144 return response
146145 elif not response .content .strip ():
147146 return True
0 commit comments