James Coglan
586c27f44e
Clarify behaviour of Driver.encode to convert strings to UTF-8 and arrays to ASCII-8BIT
2021-06-12 16:53:51 +01:00
James Coglan
9a4f2f2d1d
Do not change the encoding of strings passed to text()
2021-06-09 21:39:40 +01:00
James Coglan
41d20e42fe
Bump version to 0.7.4
0.7.4
2021-05-24 23:25:48 +01:00
James Coglan
b10eb2bf3e
Switch from Travis CI to GitHub Actions
2021-05-18 00:40:42 +01:00
James Coglan
91443b525e
Enable Bundler caching for Travis
2021-03-12 16:25:05 +00:00
James Coglan
0f6a8ac9b3
Merge pull request #75 from matti/patch-1
...
README: example of http response
2021-03-12 16:22:05 +00:00
James Coglan
3ae2e3a0f6
Validate UTF-8 encoding of strings where needed, not on every call to Driver.encode
2021-02-26 16:26:08 +00:00
James Coglan
9ec01dc328
Avoid allocating an array of the string bytes in Hybi#emit_frame
2021-02-26 16:14:58 +00:00
James Coglan
472569ad38
Avoid allocating so many arrays during Hybi#frame
2021-02-26 16:14:53 +00:00
James Coglan
219c409844
Use the Ruby Encoding constants instead of their string names
2021-02-26 14:44:50 +00:00
James Coglan
c73f5bcf10
Update Ruby versions on Travis
2021-02-26 14:42:18 +00:00
James Coglan
c021b23aef
Merge pull request #77 from timcraft/patch-1
...
Test on ruby 3.0
2021-01-06 15:32:11 +00:00
timcraft
bd44d80c6e
Test on ruby 3.0
2021-01-06 14:55:22 +00:00
James Coglan
eb643f5949
Bump version to 0.7.3
0.7.3
2020-07-09 19:27:04 +01:00
James Coglan
e87bfef9bc
Accept HTTP responses that have an empty reason-phrase, per RFC 2616
2020-07-09 19:06:13 +01:00
Matti Paksula
4228ca5781
README: example of http response
...
closes https://github.com/faye/websocket-driver-ruby/issues/74
2020-06-14 10:21:23 +03:00
James Coglan
f882bc56d5
Bump version to 0.7.2
0.7.2
2020-05-22 16:06:12 +01:00
James Coglan
46aafa4e99
Set {source,target}_version to work with the current version of javac on macOS
2020-05-14 23:31:30 +01:00
James Coglan
db09a1af22
Update Ruby versions 2.4 to 2.7 on Travis
2020-05-14 17:20:25 +01:00
pjaspers
202e1800e0
Allow rack.input.read to return a frozen string
...
We're seeing this occasionally in our error logs, where the `env`
passed into to the driver will return a frozen string when read.
The stack trace always includes ActionCable in to the mix, so
something like this:
"/app/vendor/bundle/ruby/2.6.0/gems/websocket-driver-0.7.0/lib/websocket/driver/draft76.rb" line 11 in force_encoding
"/app/vendor/bundle/ruby/2.6.0/gems/websocket-driver-0.7.0/lib/websocket/driver/draft76.rb" line 11 in initialize
"/app/vendor/bundle/ruby/2.6.0/gems/websocket-driver-0.7.0/lib/websocket/driver.rb" line 162 in new
"/app/vendor/bundle/ruby/2.6.0/gems/websocket-driver-0.7.0/lib/websocket/driver.rb" line 162 in rack
"/app/vendor/bundle/ruby/2.6.0/gems/actioncable-5.2.3/lib/action_cable/connection/client_socket.rb" line 47 in initialize
"/app/vendor/bundle/ruby/2.6.0/gems/actioncable-5.2.3/lib/action_cable/connection/web_socket.rb" line 10 in new
"/app/vendor/bundle/ruby/2.6.0/gems/actioncable-5.2.3/lib/action_cable/connection/web_socket.rb" line 10 in initialize
"/app/vendor/bundle/ruby/2.6.0/gems/actioncable-5.2.3/lib/action_cable/connection/base.rb" line 59 in new
"/app/vendor/bundle/ruby/2.6.0/gems/actioncable-5.2.3/lib/action_cable/connection/base.rb" line 59 in initialize
"/app/vendor/bundle/ruby/2.6.0/gems/actioncable-5.2.3/lib/action_cable/server/base.rb" line 30 in new
"/app/vendor/bundle/ruby/2.6.0/gems/actioncable-5.2.3/lib/action_cable/server/base.rb" line 30 in call
I still don't quite know why someone is sometimes returning a frozen
string (it could also have to with any of the current rack middleware
we're using), but I do know that we can handle it here.
So this adds a spec and some behavior to fix that.
2020-05-14 16:22:20 +01:00
James Coglan
b00f58701e
Emit ping and pong events from the Server driver
2020-02-14 14:41:43 +01:00
James Coglan
d05eb72d2d
Mention license change in the changelog
2019-06-13 11:40:48 +01:00
James Coglan
e568366f82
Formatting change: {...} should have spaces inside the braces
2019-06-11 16:12:52 +01:00
James Coglan
92334974c5
Bump version to 0.7.1
0.7.1
2019-06-10 12:40:06 +01:00
James Coglan
a6bb6a69a9
Change markdown formatting of docs.
2019-05-29 15:34:34 +01:00
James Coglan
019ba714cd
Remove a redundant statement from the Hybi setup code.
2019-05-29 00:10:46 +01:00
James Coglan
03b46b8db6
Fail a draft-76 connection of a header does not contain any digits.
2019-05-29 00:10:46 +01:00
James Coglan
6b519eecc3
Depend on Rake < 12.3 if we're running on Ruby < 2.0.
2019-05-28 22:23:36 +01:00
James Coglan
77ae543784
Reformat the C and Java native extension modules.
2019-05-28 22:23:36 +01:00
James Coglan
8a6f9ef737
Fix an uninitialised variable warning.
2019-05-24 14:59:01 +01:00
James Coglan
5b957c6660
Update Travis target versions.
2019-05-24 14:43:05 +01:00
James Coglan
2c19210a69
Switch license to Apache 2.0.
2019-05-24 14:38:29 +01:00
James Coglan
ee39af83d0
Test on Ruby 2.5.0.
2018-02-19 21:02:43 +00:00
James Coglan
ec94a219e9
I think you have to use jruby-head instead of jruby-9 now.
2017-11-23 23:14:37 +00:00
James Coglan
b14488aac5
Bump the Ruby versions for Travis.
2017-11-23 23:03:01 +00:00
James Coglan
11476318ea
If any header used by Hybi is present, then pick Hybi, and likewise for Draft76. This means the driver is more likely to pick Hybi and report likely combinations of malformed headers as errors to the client.
2017-11-23 23:02:15 +00:00
James Coglan
2ec898c6a1
If any driver encounters a validation error in the request headers, it can throw an error and Driver#start will catch that and send a 400 response to the client.
2017-11-23 23:01:26 +00:00
James Coglan
12d2aa8a80
Fix the version of Rubygems that Travis is using on Ruby 1.9.
0.7.0
2017-09-11 22:05:09 +01:00
James Coglan
222e93a01c
Bump version to 0.7.0.
2017-09-11 22:00:08 +01:00
James Coglan
bc03ce72fe
Refactor the client examples, and get the TCPSocket one into a runnable state so it can be run from the command line with a URI.
2017-08-15 19:00:04 +01:00
James Coglan
bed599ae32
Don't require rubygems, this has not been necessary since Ruby 1.8.
2017-08-08 23:41:48 +01:00
James Coglan
d3aee30def
Merge pull request #53 from izwick-schachter/master
...
Added TCPSocket client example
2017-08-08 23:30:14 +01:00
izwick-schachter
391c3d0426
Added TCPSocket client example
2017-08-08 13:44:08 -04:00
James Coglan
8739c7966f
Rename tcp_server.rb to em_server.rb.
2017-08-08 08:55:13 +01:00
James Coglan
77e46d6fce
Add an example EventMachine client.
2017-08-08 08:54:50 +01:00
James Coglan
06f215611e
Flesh out the docs for the new ping/pong events.
2017-08-02 21:55:14 +01:00
James Coglan
cd38349f9a
Make the ping/pong tests check the content of the events.
2017-08-02 21:54:59 +01:00
James Coglan
5daa01be5e
Emit ping and pong events after all other effects of those frames have been carried out.
2017-08-02 21:32:17 +01:00
James Coglan
1ea7205acf
Merge pull request #51 from ably-forks/support-ping-in-event-emitter
...
Support ping in EventEmitter
2017-08-02 21:28:31 +01:00
James Coglan
7dba28caa2
Update Ruby versions in Travis config.
2017-08-01 20:34:39 +01:00