From f0785fd8b892c49061fd92d232026f116707dd0c Mon Sep 17 00:00:00 2001 From: Peter Taoussanis Date: Tue, 12 Apr 2016 15:36:20 +0700 Subject: [PATCH] [#214] Experimental: add `[:chsk/ws-error _]` ev-msgs --- src/taoensso/sente.cljx | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/taoensso/sente.cljx b/src/taoensso/sente.cljx index f61bfe4..3983fed 100644 --- a/src/taoensso/sente.cljx +++ b/src/taoensso/sente.cljx @@ -27,16 +27,17 @@ * Callback wrapping: [ ] for [1],[2] * Callback replies: :chsk/closed, :chsk/timeout, :chsk/error * Client-side events: - [:chsk/handshake [ ]], - [:chsk/state ], + [:chsk/handshake [ ]] + [:chsk/state ] [:chsk/recv <[buffered-evs]>] ; server>user push + [:chsk/ws-error ] ; Experimental, subject to change * Server-side events: - [:chsk/ws-ping], - [:chsk/bad-package ], - [:chsk/bad-event ], - [:chsk/uidport-open], - [:chsk/uidport-close]. + [:chsk/ws-ping] + [:chsk/bad-package ] + [:chsk/bad-event ] + [:chsk/uidport-open] + [:chsk/uidport-close] Notable implementation details: * core.async is used liberally where brute-force core.async allows for @@ -820,7 +821,11 @@ (reset! socket_ (doto ?socket (aset "onerror" - (fn [ws-ev] (errorf "WebSocket error: %s" ws-ev))) + (fn [ws-ev] + (errorf "WebSocket error: %s" ws-ev) + ;; Experimental, for #214; + (put! (:internal chs) [:chsk/ws-error ws-ev]) + nil)) (aset "onmessage" ; Nb receives both push & cb evs! (fn [ws-ev]