Gered
eff6566ac5
some renaming for clarity. add client-side on-opening event
2016-05-15 21:49:29 -04:00
Gered
890ef4596a
cleanup send callback support. add new on-error callback to send-data
2016-05-15 20:06:00 -04:00
Gered
5fd9e7e244
update chat-demo cljs
2016-05-15 19:41:14 -04:00
Gered
7e2e97f172
add additional options for browserchannel reconnect behaviour
2016-05-15 19:39:20 -04:00
Gered
13f76350bd
rework client init so there's just connect! (not both init and connect)
2016-05-15 19:28:55 -04:00
Gered
f4ce202ad7
cleanup some of the client-side state management w.r.t. reconnections
2016-05-15 18:25:44 -04:00
Gered
001d21a63d
add initial support for automatic client reconnections on server error
2016-05-15 18:06:21 -04:00
Gered
74a33200aa
add comments for the cljs browserchannel enum equivalents
2016-05-15 18:05:17 -04:00
Gered
f401eb95f8
add comments to the bind channel requests as they're somewhat complex
2016-05-15 14:35:02 -04:00
Gered
1ecaeae744
more units tests
2016-05-15 13:41:12 -04:00
Gered
ae79343138
add missing RID param validation. comment changes
2016-05-15 12:15:37 -04:00
Gered
616578c76b
more unit tests
2016-05-15 11:52:41 -04:00
Gered
47f6a6d946
allow data to be sent included in the new session forward ch request
...
this is part of the browserchannel protocol and can be an optimization
for some applications (less round trips to the server when the app is
establishing the browserchannel session)
2016-05-15 11:52:13 -04:00
Gered
2ced218750
updates to some tests, and add several more
2016-05-13 18:42:28 -04:00
Gered
8838aba94b
rename tests to be a bit more descriptive
2016-05-13 14:04:51 -04:00
Gered
f8dfde4e3a
test helper function misc changes
2016-05-13 14:02:29 -04:00
Gered
472a551606
remove hardcoded browserchannel protocol version number
2016-05-13 14:01:15 -04:00
Gered
5056d14d3a
add trace log output to clj-browserchannel
2016-05-13 12:39:13 -04:00
Gered
63a74707fa
another test, and some more helper functions
2016-05-12 17:19:51 -04:00
Gered
b0463fbbd7
add more backchannel tests. add various test helper functions
2016-05-12 16:44:40 -04:00
Gered
ae6fa268cc
simplify
2016-05-12 16:43:38 -04:00
Gered
3f81f59a2a
enforce valid session requirement for all backchannel requests
...
not checking for this results in a NPE anyway, definitely better to
return a nicer error result
2016-05-12 14:52:07 -04:00
Gered
4554adcecd
start adding bind channel unit tests
2016-05-12 13:43:40 -04:00
Gered
1b3a0e99bc
ensure initial session timeout can actually timeout on new session
...
the way this was being triggered would cause the session timeout to
be triggered at the proper timeout interval, but due to the call
to refresh-session-timeout not being done via the session agent and
the use of send-off, the session timeout handler would not have any
way to actually remove the session from the global sessions atom
in practice this would only actually be a problem if clients were
creating a session and then never performing a GET request to create
a backchannel
2016-05-12 13:08:50 -04:00
Gered
e597737204
output a little warning to indicate why this test delays
2016-05-12 12:26:50 -04:00
Gered
7e2d87731c
rename some test stuff
2016-05-12 12:17:19 -04:00
Gered
605d6c5d51
add mock http request unit tests for the test channel
2016-05-12 12:14:54 -04:00
Gered
89ad55b9c8
minor cleanups
2016-05-11 15:45:58 -04:00
Gered
548ff7825d
add some initial session tests
2016-05-11 15:36:29 -04:00
Gered
3bdf0868cf
renaming some arguments for clarity
2016-05-11 13:45:25 -04:00
Gered
8aa0368494
add some more arraybuffer unit tests
2016-05-11 12:06:51 -04:00
Gered
19cfc50762
begin adding some unit tests
2016-05-11 10:58:52 -04:00
Gered
d4c5784b4a
switch to cheshire for json encoding
...
cheshire is significantly faster then data.json. i'm assuming the only
reason data.json was being used was due to the age of this project
2016-05-11 09:27:22 -04:00
Gered
37db9ce909
add response-timeout option to immutant adapter (same as jetty adapter)
2016-05-09 20:06:12 -04:00
Gered
579945fbda
update jetty adapter to just use the jetty instance pulled in by ring
...
this also happens to be jetty 9, which is good as 7 and 8 are EOL
2016-05-09 19:09:07 -04:00
Gered
73bd151893
add logback.xml config to stop jetty from spamming log output
2016-05-09 18:01:38 -04:00
Gered
4fbf7b7c7d
some more doc comments and minor formatting
2016-05-09 17:49:42 -04:00
Gered
333e4873d5
adding doc comments and changing some internal use functions to private
2016-05-09 16:29:24 -04:00
Gered
1eda612d0c
don't trigger on-sent event if the delivered array is empty
2016-05-09 13:22:35 -04:00
Gered
36665bc123
fix decode-queued-map
2016-05-09 13:19:53 -04:00
Gered
6916f3efb2
send-map shouldn't really be returning the actual session agent
2016-05-09 13:17:13 -04:00
Gered
6674d171c3
update client & server send fn's to allow sending even non-map data
...
i personally think this was an important change as the default encoding
of maps to be sent as json is somewhat lossy (keywords converted to
strings, would never be able to get this 100% perfect using json alone
without a more complex encoding solution). encoding to edn is the
perfect solution to this.
since browserchannel pretty much requires the final sent data to be
json encoded, we just serialize the clojure data being sent to an
edn string within a root json object.
this does ultimately mean we have to do a little bit of pre-parsing
of sent and received maps to encode/decode properly and make it
completely transparent to application code, but i think it's an
acceptable tradeoff.
2016-05-09 12:45:17 -04:00
Gered
b86d048e64
fix get-status (apparently didn't test it well enough)
2016-05-08 22:41:25 -04:00
Gered
9cc8bf5234
formatting
2016-05-08 20:30:25 -04:00
Gered
d0cd1d0bca
doc-comments
2016-05-08 20:28:47 -04:00
Gered
3aed2c3b1b
mark a bunch of internal functions/defs as private where appropriate
...
the real purpose of doing this is of course to make it more obvious
to anyone reading this code what is the actual intended public API
and what isn't
2016-05-08 19:30:36 -04:00
Gered
9d314c4d88
super nitpicky code formatting
...
i apologize to anyone looking at this commit and wondering why i would
do this, but all these little "off" formatting things have been bugging
me all day while looking at this code. i simply had to do something.
2016-05-08 19:20:28 -04:00
Gered
4e63631854
update disconnection reason strings to be a bit more descriptive
2016-05-08 19:03:31 -04:00
Gered
337b1faf27
update chat-demo
2016-05-08 19:01:24 -04:00
Gered
49409cac62
add server-side helper functions
2016-05-08 19:01:08 -04:00