Adds retries to login

This commit is contained in:
2022-01-08 15:41:14 -08:00
parent deeadb16b6
commit 51e9e6a83b

View File

@@ -37,13 +37,17 @@
(catch Exception e (catch Exception e
(if (>= i 3) (if (>= i 3)
(throw e) (throw e)
(retry-thrice x (inc i))))))) (do
(Thread/sleep 5000)
(retry-thrice x (inc i))))))))
(def base-headers {"Api-Version" "1.1" (def base-headers {"Api-Version" "1.1"
"Cobrand-Name" (:yodlee-cobrand-name env) "Cobrand-Name" (:yodlee-cobrand-name env)
"Content-Type" "application/json"}) "Content-Type" "application/json"})
(defn login-cobrand [] (defn login-cobrand []
(retry-thrice
(fn []
(-> (str (:yodlee-base-url env) "/cobrand/login") (-> (str (:yodlee-base-url env) "/cobrand/login")
(client/post (merge {:headers base-headers (client/post (merge {:headers base-headers
:body :body
@@ -55,12 +59,14 @@
) )
:body :body
:session :session
:cobSession)) :cobSession))))
(defn login-user (defn login-user
([cob-session] (login-user cob-session (:yodlee-user-login env) (:yodlee-user-password env))) ([cob-session] (login-user cob-session (:yodlee-user-login env) (:yodlee-user-password env)))
([cob-session user password] ([cob-session user password]
(retry-thrice
(fn []
(-> (str (:yodlee-base-url env) "/user/login") (-> (str (:yodlee-base-url env) "/user/login")
(client/post (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session)}) (client/post (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session)})
:body :body
@@ -72,7 +78,7 @@
:body :body
:user :user
:session :session
:userSession)) :userSession))))
) )
(defn get-accounts [] (defn get-accounts []
@@ -397,7 +403,6 @@
batch-size 100] batch-size 100]
(try (try
(doto (-> (str (:yodlee-base-url env) "/providerAccounts?providerAccountIds=" pa) (doto (-> (str (:yodlee-base-url env) "/providerAccounts?providerAccountIds=" pa)
(client/put (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)}) (client/put (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})