/
test_backend.cljc
37 lines (32 loc) · 1.32 KB
/
test_backend.cljc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
(ns deercreeklabs.capsule.test-backend
(:require
[clojure.core.async :as ca]
[deercreeklabs.async-utils :as au]
[deercreeklabs.capsule.calc-protocols :as calc-protocols]
[deercreeklabs.capsule.client :as cc]
[deercreeklabs.capsule.utils :as u]
[deercreeklabs.log-utils :as lu :refer [debugs]]
[schema.core :as s]
[taoensso.timbre :as timbre :refer [debugf errorf infof]]))
(def greeting "Hello")
(defn handle-add [arg metadata]
(apply + arg))
(defn handle-subtract [arg metadata]
(apply - arg))
(defn handle-request-greeting-update [client msg metadata]
(cc/send-msg client :set-greeting greeting))
(defn make-backend
([<get-gw-url <get-credentials]
(make-backend <get-gw-url <get-credentials nil))
([<get-gw-url <get-credentials options]
(let [protocol calc-protocols/gateway-backend-protocol
client (if options
(cc/make-client <get-gw-url <get-credentials protocol
:backend options)
(cc/make-client <get-gw-url <get-credentials protocol
:backend))]
(cc/set-handler client :add handle-add)
(cc/set-handler client :subtract handle-subtract)
(cc/set-handler client :request-greeting-update
(partial handle-request-greeting-update client))
client)))