@@ -57,21 +57,31 @@ class TaigaAPI:
5757 :param token_type: the token type
5858 :param tls_verify: verify server certificate
5959 :param auth_type: authentication type identifier
60+ :param proxies: a dictionary of proxies to use for requests
6061 """
6162
6263 def __init__ (
63- self , host = "https://api.taiga.io" , token = None , token_type = "Bearer" , tls_verify = True , auth_type = "normal"
64+ self ,
65+ host = "https://api.taiga.io" ,
66+ token = None ,
67+ token_type = "Bearer" ,
68+ tls_verify = True ,
69+ auth_type = "normal" ,
70+ proxies = None ,
6471 ):
6572 self .host = host
6673 self .token = token
6774 self .token_refresh = None
6875 self .token_type = token_type
6976 self .tls_verify = tls_verify
7077 self .auth_type = auth_type
78+ self .proxies = proxies
7179 if not self .tls_verify :
7280 requests .packages .urllib3 .disable_warnings (InsecureRequestWarning )
7381 if token :
74- self .raw_request = RequestMaker ("/api/v1" , self .host , self .token , self .token_type , self .tls_verify )
82+ self .raw_request = RequestMaker (
83+ "/api/v1" , self .host , self .token , self .token_type , self .tls_verify , proxies = proxies
84+ )
7585 self ._init_resources ()
7686
7787 def _init_resources (self ):
@@ -137,14 +147,18 @@ def auth(self, username, password):
137147 payload = {"type" : self .auth_type , "username" : username , "password" : password }
138148 try :
139149 full_url = utils .urljoin (self .host , "/api/v1/auth" )
140- response = requests .post (full_url , data = json .dumps (payload ), headers = headers , verify = self .tls_verify )
150+ response = requests .post (
151+ full_url , data = json .dumps (payload ), headers = headers , verify = self .tls_verify , proxies = self .proxies
152+ )
141153 except RequestException :
142154 raise exceptions .TaigaRestException (full_url , 400 , "NETWORK ERROR" , "POST" )
143155 if response .status_code != 200 :
144156 raise exceptions .TaigaRestException (full_url , response .status_code , response .text , "POST" )
145157 self .token = response .json ()["auth_token" ]
146158 self .token_refresh = response .json ()["refresh" ]
147- self .raw_request = RequestMaker ("/api/v1" , self .host , self .token , "Bearer" , self .tls_verify )
159+ self .raw_request = RequestMaker (
160+ "/api/v1" , self .host , self .token , "Bearer" , self .tls_verify , proxies = self .proxies
161+ )
148162 self ._init_resources ()
149163
150164 def auth_app (self , app_id , app_secret , auth_code , state = "" ):
@@ -159,7 +173,9 @@ def auth_app(self, app_id, app_secret, auth_code, state=""):
159173 payload = {"application" : app_id , "auth_code" : auth_code , "state" : state }
160174 try :
161175 full_url = utils .urljoin (self .host , "/api/v1/application-tokens/validate" )
162- response = requests .post (full_url , data = json .dumps (payload ), headers = headers , verify = self .tls_verify )
176+ response = requests .post (
177+ full_url , data = json .dumps (payload ), headers = headers , verify = self .tls_verify , proxies = self .proxies
178+ )
163179 except RequestException :
164180 raise exceptions .TaigaRestException (full_url , 400 , "NETWORK ERROR" , "POST" )
165181 if response .status_code != 200 :
@@ -185,7 +201,9 @@ def auth_app(self, app_id, app_secret, auth_code, state=""):
185201 if self .token is None :
186202 raise exceptions .TaigaRestException (full_url , 400 , "INVALID TOKEN" , "POST" )
187203
188- self .raw_request = RequestMaker ("/api/v1" , self .host , self .token , "Application" , self .tls_verify )
204+ self .raw_request = RequestMaker (
205+ "/api/v1" , self .host , self .token , "Application" , self .tls_verify , proxies = self .proxies
206+ )
189207 self ._init_resources ()
190208
191209 def refresh_token (self , token_refresh = "" ):
@@ -205,12 +223,16 @@ def refresh_token(self, token_refresh=""):
205223 payload = {"refresh" : token_refresh }
206224 try :
207225 full_url = utils .urljoin (self .host , "/api/v1/auth/refresh" )
208- response = requests .post (full_url , data = json .dumps (payload ), headers = headers , verify = self .tls_verify )
226+ response = requests .post (
227+ full_url , data = json .dumps (payload ), headers = headers , verify = self .tls_verify , proxies = self .proxies
228+ )
209229 except RequestException :
210230 raise exceptions .TaigaRestException (full_url , 400 , "NETWORK ERROR" , "POST" )
211231 if response .status_code != 200 :
212232 raise exceptions .TaigaRestException (full_url , response .status_code , response .text , "POST" )
213233 self .token = response .json ()["auth_token" ]
214234 self .token_refresh = response .json ()["refresh" ]
215- self .raw_request = RequestMaker ("/api/v1" , self .host , self .token , "Bearer" , self .tls_verify )
235+ self .raw_request = RequestMaker (
236+ "/api/v1" , self .host , self .token , "Bearer" , self .tls_verify , proxies = self .proxies
237+ )
216238 self ._init_resources ()
0 commit comments