[web-devel] A WebSocket library
Jeremy Shaw
jeremy at n-heptane.com
Tue Sep 27 19:34:23 CEST 2011
epic!
Happstack will be migrating to warp/wai really soon now. So, that
should make happstack support trivial[1].
- jeremy
[1] One of the many reasons for migrating Happstack to warp is to get
things like this for 'free'.
On Sep 25, 2011, at 9:46 AM, Jasper Van der Jeugt wrote:
> Hello all,
>
> I have been working on a WebSocket [1] library lately, which you can
> find here
> [2]. It's getting to the point at which I want to release it on
> Hackage.
> However, there is one thing remaining before the library will be
> really useful
> for applications: integration.
>
> I would like to provide integration with Happstack, Snap and Yesod
> -- this is
> why I have built the library around the enumerator package [3]. It
> would be
> awesome if frameworks could more or less agree on a way in which an
> HTTP
> connection can be "transformed" to a WebSocket.
>
> That way, I will be able to provide packages such as `websockets-
> warp`,
> `websockets-snap` etc.
>
> Currently, the "entry point" of the websockets library is the
> following
> function:
>
> runWebSockets :: WebSockets a
> -> Enumerator ByteString IO a
> -> Iteratee ByteString IO ()
> -> Iteratee ByteString IO a
>
> Where the first argument is the user-supplied code in the
> `WebSockets` monad
> (needs to keep a bit of state etc.), the second argument is an
> enumerator which
> the library can use to read from the socket, and the last argument
> is an
> iteratee with which the library can write to the socket.
>
> A web server then needs to provide some way to get this enumerator/
> iteratee
> pair, and hand it over to the library (currently, this is lacking).
> Some more
> details apply, e.g. the web server shouldn't kill the websocket
> handler as fast
> as regular HTTP connections.
>
> Is this proposal somewhat agreeable? I'm open to any feedback.
>
> [1]: http://en.wikipedia.org/wiki/WebSocket
> [2]: http://github.com/jaspervdj/websockets
> [3]: http://hackage.haskell.org/package/enumerator
>
> Cheers,
> Jasper
>
> _______________________________________________
> web-devel mailing list
> web-devel at haskell.org
> http://www.haskell.org/mailman/listinfo/web-devel
More information about the web-devel
mailing list