sets up staging using http proxy.

This commit is contained in:
Bryce Covert
2020-09-15 11:08:39 -07:00
parent a6813072a5
commit b5e19030f1
2 changed files with 55 additions and 35 deletions

View File

@@ -13,4 +13,6 @@
:yodlee-base-url "https://quickstart2.api.yodlee.com/ysl" :yodlee-base-url "https://quickstart2.api.yodlee.com/ysl"
:yodlee-app "10003600" :yodlee-app "10003600"
:yodlee-fastlink "https://quickstartus2node.yodleeinteractive.com/authenticate/qstartus12/?channelAppName=quickstartus2" :yodlee-fastlink "https://quickstartus2node.yodleeinteractive.com/authenticate/qstartus12/?channelAppName=quickstartus2"
:yodlee-proxy-host "172.31.10.83"
:yodlee-proxy-port 8888
} }

View File

@@ -14,18 +14,25 @@
([cob-session] (str "{cobSession=" cob-session "}")) ([cob-session] (str "{cobSession=" cob-session "}"))
([cob-session user-session] (str "{cobSession=" cob-session ",userSession=" user-session "}"))) ([cob-session user-session] (str "{cobSession=" cob-session ",userSession=" user-session "}")))
(def other-config
(if (:yodlee-proxy-host env)
{:proxy-host (:yodlee-proxy-host env)
:proxy-port (:yodlee-proxy-port env)}
{}))
(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 []
(-> (str (:yodlee-base-url env) "/cobrand/login") (-> (str (:yodlee-base-url env) "/cobrand/login")
(client/post {:headers base-headers (client/post (merge {:headers base-headers
:body :body
(json/write-str {:cobrand {:cobrandLogin (:yodlee-cobrand-login env) (json/write-str {:cobrand {:cobrandLogin (:yodlee-cobrand-login env)
:cobrandPassword (:yodlee-cobrand-password env) :cobrandPassword (:yodlee-cobrand-password env)
:locale "en_US"}}) :locale "en_US"}})
:as :json} :as :json}
other-config)
) )
:body :body
:session :session
@@ -36,12 +43,13 @@
([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]
(-> (str (:yodlee-base-url env) "/user/login") (-> (str (:yodlee-base-url env) "/user/login")
(client/post {:headers (merge base-headers {"Authorization" (auth-header cob-session)}) (client/post (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session)})
:body :body
(json/write-str {:user {:loginName user (json/write-str {:user {:loginName user
:password password :password password
:locale "en_US"}}) :locale "en_US"}})
:as :json}) :as :json}
other-config))
:body :body
:user :user
:session :session
@@ -52,8 +60,9 @@
(let [cob-session (login-cobrand) (let [cob-session (login-cobrand)
user-session (login-user cob-session)] user-session (login-user cob-session)]
(-> (str (:yodlee-base-url env) "/accounts") (-> (str (:yodlee-base-url env) "/accounts")
(client/get {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)}) (client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json}) :as :json}
other-config))
:body :body
:account))) :account)))
@@ -62,8 +71,9 @@
(let [cob-session (login-cobrand) (let [cob-session (login-cobrand)
user-session (login-user cob-session)] user-session (login-user cob-session)]
(-> (str (:yodlee-base-url env) "/accounts?providerAccountId=" provider-account-id) (-> (str (:yodlee-base-url env) "/accounts?providerAccountId=" provider-account-id)
(client/get {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)}) (client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json}) :as :json}
other-config))
:body :body
:account)) :account))
(catch Exception e (catch Exception e
@@ -75,8 +85,9 @@
(let [cob-session (login-cobrand) (let [cob-session (login-cobrand)
user-session (login-user cob-session)] user-session (login-user cob-session)]
(-> (str (:yodlee-base-url env) (str "/accounts/" i)) (-> (str (:yodlee-base-url env) (str "/accounts/" i))
(client/get {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)}) (client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json}) :as :json}
other-config))
:body :body
:account))) :account)))
@@ -84,9 +95,10 @@
(let [cob-session (login-cobrand) (let [cob-session (login-cobrand)
user-session (login-user cob-session)] user-session (login-user cob-session)]
(-> (str (:yodlee-base-url env) "/providerAccounts") (-> (str (:yodlee-base-url env) "/providerAccounts")
(-> (client/get {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)}) (-> (client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:query-params {"include" "credentials,questions,preferences"} :query-params {"include" "credentials,questions,preferences"}
:as :json}) :as :json}
other-config))
:body :body
:providerAccount)))) :providerAccount))))
@@ -100,8 +112,9 @@
(-> (str (:yodlee-base-url env) "/transactions?top=" batch-size "&skip=" skip) (-> (str (:yodlee-base-url env) "/transactions?top=" batch-size "&skip=" skip)
(client/get {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)}) (client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json}) :as :json}
other-config))
:body :body
:transaction :transaction
))] ))]
@@ -120,8 +133,9 @@
(-> (str (:yodlee-base-url env) "/providerAccounts") (-> (str (:yodlee-base-url env) "/providerAccounts")
(client/get {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)}) (client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json}) :as :json}
other-config))
:body :body
:providerAccount :providerAccount
))) )))
@@ -135,8 +149,9 @@
(-> (str (:yodlee-base-url env) "/providerAccounts/" id) (-> (str (:yodlee-base-url env) "/providerAccounts/" id)
(client/get {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)}) (client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json}) :as :json}
other-config))
:body :body
:providerAccount))) :providerAccount)))
@@ -147,9 +162,10 @@
(-> (str (:yodlee-base-url env) "/providerAccounts/" id ) (-> (str (:yodlee-base-url env) "/providerAccounts/" id )
(client/get {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)}) (client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:query-params {"include" "credentials,preferences"} :query-params {"include" "credentials,preferences"}
:as :json}) :as :json}
other-config))
:body :body
:providerAccount :providerAccount
first))) first)))
@@ -161,9 +177,10 @@
(-> (str (:yodlee-base-url env) "/providerAccounts?providerAccountIds=" pa) (-> (str (:yodlee-base-url env) "/providerAccounts?providerAccountIds=" pa)
(client/put {: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)})
:body "{\"dataSetName\": [\"BASIC_AGG_DATA\"]}" :body "{\"dataSetName\": [\"BASIC_AGG_DATA\"]}"
:as :json})))) :as :json}
other-config)))))
@@ -177,8 +194,9 @@
get-transaction-batch (fn [skip] get-transaction-batch (fn [skip]
(-> (str (:yodlee-base-url env) "/transactions?top=" batch-size "&skip=" skip "&accountId=" account) (-> (str (:yodlee-base-url env) "/transactions?top=" batch-size "&skip=" skip "&accountId=" account)
(client/get {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)}) (client/get (merge {:headers (merge base-headers {"Authorization" (auth-header cob-session user-session)})
:as :json}) :as :json}
other-config))
:body :body
:transaction :transaction
))] ))]