@@ -49,17 +49,21 @@ def _request(
4949 self ,
5050 method_ ,
5151 url_ ,
52- app_id = None ,
52+ api_key = None ,
53+ idempotency_key = None ,
5354 fintecture_version = None ,
55+ fintecture_account = None ,
5456 headers = None ,
5557 params = None ,
5658 ):
5759 obj = FintectureObject ._request (
5860 self ,
5961 method_ ,
6062 url_ ,
61- app_id ,
63+ api_key ,
64+ idempotency_key ,
6265 fintecture_version ,
66+ fintecture_account ,
6367 headers ,
6468 params ,
6569 )
@@ -77,7 +81,9 @@ def _request_and_refresh(
7781 method_ ,
7882 url_ ,
7983 app_id = None ,
84+ idempotency_key = None ,
8085 fintecture_version = None ,
86+ fintecture_account = None ,
8187 headers = None ,
8288 params = None ,
8389 ):
@@ -86,7 +92,9 @@ def _request_and_refresh(
8692 method_ ,
8793 url_ ,
8894 app_id ,
95+ idempotency_key ,
8996 fintecture_version ,
97+ fintecture_account ,
9098 headers ,
9199 params ,
92100 )
@@ -102,32 +110,69 @@ def _static_request(
102110 method_ ,
103111 url_ ,
104112 app_id = None ,
113+ idempotency_key = None ,
105114 fintecture_version = None ,
115+ fintecture_account = None ,
106116 params = None ,
107117 ):
108118 params = None if params is None else params .copy ()
119+ idempotency_key = util .read_special_variable (
120+ params , "idempotency_key" , idempotency_key
121+ )
109122 fintecture_version = util .read_special_variable (
110123 params , "fintecture_version" , fintecture_version
111124 )
112- fintecture_app_id = util .read_special_variable (
113- params , "app_id" , app_id
114- )
115- fintecture_app_secret = util .read_special_variable (
116- params , "app_secret" , None
117- )
118- fintecture_private_key = util .read_special_variable (
119- params , "private_key" , None
125+ fintecture_account = util .read_special_variable (
126+ params , "fintecture_account" , fintecture_account
120127 )
121128 headers = util .read_special_variable (params , "headers" , None )
122129
123130 requestor = api_requestor .APIRequestor (
124- app_id = fintecture_app_id ,
125- app_secret = fintecture_app_secret ,
126- private_key = fintecture_private_key ,
127- api_version = fintecture_version ,
131+ app_id , api_version = fintecture_version , account = fintecture_account
128132 )
129133
130- response , my_app_id = requestor .request (method_ , url_ , params , headers )
134+ if idempotency_key is not None :
135+ headers = {} if headers is None else headers .copy ()
136+ headers .update (util .populate_headers (idempotency_key ))
137+
138+ response , api_key = requestor .request (method_ , url_ , params , headers )
131139 return util .convert_to_fintecture_object (
132- response , my_app_id , fintecture_version , params
140+ response , api_key , fintecture_version , fintecture_account , params
141+ )
142+
143+ # The `method_` and `url_` arguments are suffixed with an underscore to
144+ # avoid conflicting with actual request parameters in `params`.
145+ @classmethod
146+ def _static_request_stream (
147+ cls ,
148+ method_ ,
149+ url_ ,
150+ api_key = None ,
151+ idempotency_key = None ,
152+ fintecture_version = None ,
153+ fintecture_account = None ,
154+ params = None ,
155+ ):
156+ params = None if params is None else params .copy ()
157+ api_key = util .read_special_variable (params , "api_key" , api_key )
158+ idempotency_key = util .read_special_variable (
159+ params , "idempotency_key" , idempotency_key
160+ )
161+ fintecture_version = util .read_special_variable (
162+ params , "fintecture_version" , fintecture_version
133163 )
164+ fintecture_account = util .read_special_variable (
165+ params , "fintecture_account" , fintecture_account
166+ )
167+ headers = util .read_special_variable (params , "headers" , None )
168+
169+ requestor = api_requestor .APIRequestor (
170+ api_key , api_version = fintecture_version , account = fintecture_account
171+ )
172+
173+ if idempotency_key is not None :
174+ headers = {} if headers is None else headers .copy ()
175+ headers .update (util .populate_headers (idempotency_key ))
176+
177+ response , _ = requestor .request_stream (method_ , url_ , params , headers )
178+ return response
0 commit comments