A comfortable and fashionable way to have bi-directional conversations with modern web servers.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
notes
project
src
.gitignore
.travis.yml
LICENSE
README.md
build.sbt

README.md

tubesocks

Build Status

A comfortable and fashionable way to have bi-directional conversations with modern web servers.

Tubesocks is a snug little interface that wraps async http client which supports an emerging standard protocol for pushing messages to clients and responding over an open connection.

Here is an echo client.

import tubesocks._
Sock.uri("ws://host") {
  case Message(m, s) => s.send(m)
}

install

sbt

By hand (cut & paste)

libraryDependencies += "me.lessis" %% "tubesocks" % "0.1.0"

The civilized way

ls-install tubesocks

usage

import tubesocks._
Sock.uri("ws://host.com") {
  case Open(s) => s.send("I'm here")
  case Message(t, s) => println("server says %s" format t)
  case Close(s) => println("we're done")
}

Do you prefer configuring your own transmission?

import tubesocks._
Sock.configure({ b =>
  b.setWebSocketIdleTimeoutInMs(2 * 60 * 1000)
})(new URI("ws://host.com")) {
  case Message(t, s) => s.send("thanks for the message")
}

Doug Tangren (softprops) 2012-2013