Make username/password optional...
This commit is contained in:
parent
6c64dedc17
commit
111522845d
|
@ -5,13 +5,15 @@
|
||||||
org.eclipse.paho.client.mqttv3.persist.MemoryPersistence
|
org.eclipse.paho.client.mqttv3.persist.MemoryPersistence
|
||||||
java.time.Instant))
|
java.time.Instant))
|
||||||
|
|
||||||
(defn- create-mqtt-client! [broker-uri username password]
|
(defn- create-mqtt-client! [& {:keys [broker-uri username password]}]
|
||||||
(let [client-id (MqttClient/generateClientId)
|
(let [client-id (MqttClient/generateClientId)
|
||||||
opts (doto (MqttConnectOptions.)
|
opts (doto (MqttConnectOptions.)
|
||||||
(.setCleanSession true)
|
(.setCleanSession true)
|
||||||
(.setAutomaticReconnect true)
|
(.setAutomaticReconnect true))]
|
||||||
(.setPassword (char-array password))
|
(when username
|
||||||
(.setUserName username))]
|
(doto opts
|
||||||
|
(.setUserName username)
|
||||||
|
(.setPassword (char-array password))))
|
||||||
(doto (MqttClient. broker-uri client-id (MemoryPersistence.))
|
(doto (MqttClient. broker-uri client-id (MemoryPersistence.))
|
||||||
(.connect opts))))
|
(.connect opts))))
|
||||||
|
|
||||||
|
@ -158,11 +160,12 @@
|
||||||
(subscribe-topic! client topic {:buffer-size buffer-size :qos qos}))
|
(subscribe-topic! client topic {:buffer-size buffer-size :qos qos}))
|
||||||
|
|
||||||
(defn connect!
|
(defn connect!
|
||||||
[& {:keys [host port scheme username password verbose]
|
[& {:keys [host port scheme verbose]
|
||||||
:or {verbose false
|
:or {verbose false
|
||||||
scheme :tcp}}]
|
scheme :tcp}
|
||||||
|
:as opts}]
|
||||||
(let [broker-uri (str (name scheme) "://" host ":" port)]
|
(let [broker-uri (str (name scheme) "://" host ":" port)]
|
||||||
(MilquetoastClient. (create-mqtt-client! broker-uri username password)
|
(MilquetoastClient. (create-mqtt-client! (assoc opts :broker-uri broker-uri))
|
||||||
(atom [])
|
(atom [])
|
||||||
verbose)))
|
verbose)))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue