[ANN] clj-wamp : a WebSocket sub-protocol for HTTP Kit

293 views
Skip to first unread message

Christopher Martin

unread,
Jun 18, 2013, 11:29:52 AM6/18/13
to clo...@googlegroups.com
Hi all, 
I've been working on a WebSocket project recently while learning Clojure, and thought I'd share my port of the WAMP spec (for use with HTTP Kit).

WAMP is an open WebSocket subprotocol that provides two asynchronous messaging patterns: RPC and PubSub.

See the project README.md for installation & usage instructions:
https://github.com/cgmartin/clj-wamp

An example site, with live chat and RPC demos, API docs:
http://cljwamp.us

Example site source:
https://github.com/cgmartin/clj-wamp-example


The code has stabilized enough to release as beta, but I'll warn you that it's still under development. 

Next up is to try integrating with Aleph, and port the JavaScript WAMP client to ClojureScript.

Cheers,
~Christopher Martin

martin_clausen

unread,
Jun 19, 2013, 1:44:15 AM6/19/13
to clo...@googlegroups.com
Excellent job Christopher. The examples look great and so does the rest of the documentation. A tutorial or walk-through of one of the examples would be great.

Cheers

Martin

Christopher Martin

unread,
Jun 24, 2013, 11:15:47 AM6/24/13
to clo...@googlegroups.com
Martin,
Thanks for the kind feedback. I've written a tutorial (first draft) that covers some of the basics, and created a leiningen template for quick-starting a new HTTP-Kit/clj-wamp project: 


Cheers,
~Christopher Martin

Martin Clausen

unread,
Jun 24, 2013, 1:51:25 PM6/24/13
to clo...@googlegroups.com
That is a great tutorial Christopher. Really easy to follow.

You might want link the use of CURI (should be CURIE right?) in your
code example to the explanation of prefix shortening, as it is not
readily apparent that these are linked(at least not to me).

Martin
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clo...@googlegroups.com
> Note that posts from new members are moderated - please be patient with your
> first post.
> To unsubscribe from this group, send email to
> clojure+u...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "Clojure" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/clojure/VacuFRvLpxc/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> clojure+u...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

Christopher Martin

unread,
Jun 24, 2013, 11:52:40 PM6/24/13
to clo...@googlegroups.com
Good call. I agree the prefix shortening should be more noticeable since it's found throughout the examples.
I've given it its own section now:  http://cljwamp.us/tutorial#wampprefix

Again, much thanks for the feedback!

Juha Syrjälä

unread,
Jun 25, 2013, 12:04:21 AM6/25/13
to clo...@googlegroups.com
Nice work. How about adding this https://github.com/tavendo/AutobahnPython/tree/master/examples/wamp/authentication WAMP-CRA (WAMP Challenge Response Authentication)?

Christopher Martin

unread,
Jun 25, 2013, 12:15:28 AM6/25/13
to clo...@googlegroups.com
Thanks! I saw that too in the Autobahn docs. I'll add that source link to the GitHub issue I'm tracking for that feature @ https://github.com/cgmartin/clj-wamp/issues/3
Reply all
Reply to author
Forward
0 new messages