Release Name: 0.2.0
Notes:
Sunshowers is a Ruby library for Web Sockets. It exposes an easy-to-use
API that may be used in both clients and servers. On the server side,
it is designed to work with Rack::Request and Rainbows! concurrency
models that expose a synchronous application flow. On the client side,
it may be used as a standalone wrapper for IO-like objects.
* http://rainbows.rubyforge.org/sunshowers/
* sunshowers@librelist.com
* git://git.bogomips.org/sunshowers.git
Changes:
The ws_handshake! method now accepts optional headers, as
cookies should be settable during the handshake process. Header
rules are exactly the same as normal Rack response headers and
typically a Hash with String keys and newline-delimited values.
Sunshowers::IO#gets now discards binary frames as dictated by
the current IETF draft specification (66). Setting
Sunshowers::IO#keep_binary=true will revert to the old (and
hopefully future) behavior on a per-object basis. Do not expect
the +keep_binary+ member of Sunshowers::IO Struct to become part
of the a stable API.
Changes:
.gitignore | 1 +
lib/sunshowers.rb | 4 +-
lib/sunshowers/io.rb | 33 +++++++---
lib/sunshowers/request.rb | 6 ++-
lib/sunshowers/web_socket.rb | 24 +++++---
test/test_io.rb | 3 +
test/test_request.rb | 139 ++++++++++++++++++++++++++++++++++++++++++
7 files changed, 191 insertions(+), 19 deletions(-)
commit b238af1ac61d1410ad1117f0fd367bd13d8bbbca
Author: Eric Wong
Date: Mon Dec 14 02:59:26 2009 -0800
Sunshowers 0.2.0
The ws_handshake! method now accepts optional headers, as
cookies should be settable during the handshake process. Header
rules are exactly the same as normal Rack response headers and
typically a Hash with String keys and newline-delimited values.
Sunshowers::IO#gets now discards binary frames as dictated by
the current IETF draft specification (66). Setting
Sunshowers::IO#keep_binary=true will revert to the old (and
hopefully future) behavior on a per-object basis. Do not expect
the +keep_binary+ member of Sunshowers::IO Struct to become part
of the a stable API.
Eric Wong (8):
RDoc version constant
ws_handshake! may now accept headers
request: raise HandshakeError correctly if ws? is false
test_request: add PATH_INFO by default
test_request: more unit tests
io: discard binary frames
.gitignore: ignore downloaded drafts
more RDoc
commit 70badb44746163b195ed76a5c3c86b65ad7a7ba5
Author: Eric Wong
Date: Mon Dec 14 02:40:12 2009 -0800
more RDoc
commit 6ceffdb2a8729796c9ba4cf14781db4cd0c6f429
Author: Eric Wong
Date: Mon Dec 14 02:21:22 2009 -0800
.gitignore: ignore downloaded drafts
commit 000a0fbb6fd04ed2cf75aba4117df6755d71f895
Author: Eric Wong
Date: Mon Dec 14 01:47:28 2009 -0800
io: discard binary frames
Unfortunately the current draft (rev 66) actually specifies that
binary frames should be read but then immediately discarded. As
in discarded into the ether, not discarded back to the caller :<
I guess implementing voice chat via Web Sockets isn't its
primary goal...
commit 89b83cf2b809a1a8a4b5aa6b24fed043e541b3ba
Author: Eric Wong
Date: Mon Dec 14 01:30:50 2009 -0800
test_request: more unit tests
commit ea77ab1520156120107409dd76e5da2d614cc265
Author: Eric Wong
Date: Mon Dec 14 01:20:46 2009 -0800
test_request: add PATH_INFO by default
commit 4650ef7854dae721677f818ccc569bcfe0d650d9
Author: Eric Wong
Date: Mon Dec 14 01:17:59 2009 -0800
request: raise HandshakeError correctly if ws? is false
commit 39c425145ab19821cde635ba852f5a882db4736d
Author: Eric Wong
Date: Mon Dec 14 00:47:24 2009 -0800
ws_handshake! may now accept headers
Headers follow the same rules as Rack headers, and must respond
to headers#each and yield two String objects (key, value).
commit bfe4bb4bba06df2470d503e65d5e37201d956d87
Author: Eric Wong
Date: Sun Dec 13 23:48:53 2009 -0800
RDoc version constant
|