Commit graph

157 commits

Author SHA1 Message Date
Gered f3ee83e728 add mostly empty lein-cljsbuild config
this is pretty much only being added to make it easier to develop
this library using leiningen checkouts (which is what i normally do
to test changes as i work in a test webapp)
2016-05-31 16:04:59 -04:00
Gered 34fef48582 clj-browserchannel 0.3.2 2016-05-25 15:51:13 -04:00
Gered 16de0662c2 remove dommy dependency 2016-05-25 15:50:17 -04:00
Gered 81a71949a1 try a bunch more combinations of meta/input tag CSRF searching 2016-05-25 15:43:55 -04:00
Gered 75730e1b83 update READMEs with new version project.clj dependency lines 2016-05-17 16:37:17 -04:00
Gered adbf5f687b bump versions 2016-05-17 16:28:42 -04:00
Gered ed906b82a7 stop leaking leftover listeners after sessions are closed 2016-05-17 16:26:27 -04:00
Gered 0afa0d17a9 add client-side middleware support 2016-05-17 16:10:50 -04:00
Gered 028157cfa7 cleanup 2016-05-17 15:48:32 -04:00
Gered 96b39a83d4 add server-side browserchannel session event "middleware" support
same basic idea as ring middleware, except applied to the events that
occur during a browserchannel session's events
2016-05-17 14:38:54 -04:00
Gered f48818b137 move clj-browserchannel dependency to provided
since it will always be included as a dependency of projects using
either of these adapters anyway
2016-05-17 14:37:25 -04:00
Gered b629c9fd3a project.clj updates 2016-05-16 19:21:17 -04:00
Gered 85168c202f even _more_ README updates 2016-05-16 19:16:17 -04:00
Gered e02ac0d9da yet more README updates 2016-05-16 19:06:55 -04:00
Gered ced124586a more README updates 2016-05-16 19:05:20 -04:00
Gered f83cc16c60 update READMEs 2016-05-16 18:56:52 -04:00
Gered d68f199d6e update dependencies 2016-05-16 18:56:33 -04:00
Gered 1008958854 protection against potential nil object 2016-05-16 13:51:54 -04:00
Gered c8c6d3080d add '!' suffix to a bunch of functions that were not side-effect free 2016-05-16 13:46:15 -04:00
Gered 7c28a86913 added server-side close! function for "politely" disconnecting a client 2016-05-16 13:39:08 -04:00
Gered 8d953d4057 add clientside browserchannel OSID/OAID param support for new sessions 2016-05-16 13:23:22 -04:00
Gered 767a22ab09 add server-side success/error callback support to send-data 2016-05-16 11:33:32 -04:00
Gered f889985fe1 update wrap-browserchannel arguments
passing in event handlers is obviously going to be the most common
usage (all apps won't necessarily need to change the default options,
though many will want to). so it seems silly to hide the event handlers
as an option... i feel like it's better as it's own separate
argument.
2016-05-15 22:16:06 -04:00
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