libwebsocket 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +16 -0
- data/lib/libwebsocket.rb +1 -1
- data/lib/libwebsocket/url.rb +4 -3
- data/libwebsocket.gemspec +43 -64
- data/test/libwebsocket/opening_handshake/test_client.rb +3 -3
- data/test/libwebsocket/test_url.rb +1 -1
- metadata +23 -60
data/CHANGELOG.md
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## 0.1.1 / 2011-10-24
|
4
|
+
|
5
|
+
- Fixed bug that prevented query strings from being included in requests
|
6
|
+
|
7
|
+
## 0.1.0 / 2010-12-05
|
8
|
+
|
9
|
+
- new features:
|
10
|
+
- rename Handshake to OpeningHandshake(we will need ClosingHandshake in new drafts)
|
11
|
+
- bugfixes:
|
12
|
+
- relax response string parser(allow custom text after 'HTTP/1.1 101')
|
13
|
+
|
14
|
+
## 0.0.4 / 2010-12-04
|
15
|
+
|
16
|
+
- initial release
|
data/lib/libwebsocket.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# or clients to provide WebSocket support.
|
4
4
|
module LibWebSocket
|
5
5
|
|
6
|
-
VERSION = '0.1.
|
6
|
+
VERSION = '0.1.1' # Version of LibWebSocket
|
7
7
|
|
8
8
|
autoload :Cookie, "#{File.dirname(__FILE__)}/libwebsocket/cookie"
|
9
9
|
autoload :Frame, "#{File.dirname(__FILE__)}/libwebsocket/frame"
|
data/lib/libwebsocket/url.rb
CHANGED
@@ -36,9 +36,10 @@ module LibWebSocket
|
|
36
36
|
self.host = host
|
37
37
|
self.port = uri.port.to_s if uri.port
|
38
38
|
|
39
|
-
|
40
|
-
|
41
|
-
|
39
|
+
request_uri = uri.path
|
40
|
+
request_uri = '/' unless request_uri && request_uri != ''
|
41
|
+
request_uri += "?" + uri.query if uri.query
|
42
|
+
self.resource_name = request_uri
|
42
43
|
|
43
44
|
return self
|
44
45
|
end
|
data/libwebsocket.gemspec
CHANGED
@@ -1,84 +1,63 @@
|
|
1
1
|
# Generated by jeweler
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.1.
|
7
|
+
s.name = "libwebsocket"
|
8
|
+
s.version = "0.1.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Bernard Potocki"]
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
12
|
+
s.date = "2011-10-24"
|
13
|
+
s.description = "Universal Ruby library to handle WebSocket protocol"
|
14
|
+
s.email = "bernard.potocki@imanel.org"
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"README.md"
|
17
17
|
]
|
18
18
|
s.files = [
|
19
|
+
"CHANGELOG.md",
|
19
20
|
"README.md",
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
"test/libwebsocket/cookie/request.rb",
|
39
|
-
"test/libwebsocket/cookie/response.rb",
|
40
|
-
"test/libwebsocket/opening_handshake/test_client.rb",
|
41
|
-
"test/libwebsocket/opening_handshake/test_server.rb",
|
42
|
-
"test/libwebsocket/test_cookie.rb",
|
43
|
-
"test/libwebsocket/test_frame.rb",
|
44
|
-
"test/libwebsocket/test_message.rb",
|
45
|
-
"test/libwebsocket/test_request_75.rb",
|
46
|
-
"test/libwebsocket/test_request_76.rb",
|
47
|
-
"test/libwebsocket/test_request_common.rb",
|
48
|
-
"test/libwebsocket/test_response_75.rb",
|
49
|
-
"test/libwebsocket/test_response_76.rb",
|
50
|
-
"test/libwebsocket/test_response_common.rb",
|
51
|
-
"test/libwebsocket/test_url.rb",
|
52
|
-
"test/test_helper.rb"
|
53
|
-
]
|
54
|
-
s.homepage = %q{http://github.com/imanel/libwebsocket}
|
55
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
56
|
-
s.require_paths = ["lib"]
|
57
|
-
s.rubygems_version = %q{1.3.7}
|
58
|
-
s.summary = %q{Universal Ruby library to handle WebSocket protocol}
|
59
|
-
s.test_files = [
|
21
|
+
"Rakefile",
|
22
|
+
"examples/eventmachine_server.rb",
|
23
|
+
"examples/plain_client.rb",
|
24
|
+
"examples/thin_server.rb",
|
25
|
+
"lib/libwebsocket.rb",
|
26
|
+
"lib/libwebsocket/cookie.rb",
|
27
|
+
"lib/libwebsocket/cookie/request.rb",
|
28
|
+
"lib/libwebsocket/cookie/response.rb",
|
29
|
+
"lib/libwebsocket/frame.rb",
|
30
|
+
"lib/libwebsocket/message.rb",
|
31
|
+
"lib/libwebsocket/opening_handshake.rb",
|
32
|
+
"lib/libwebsocket/opening_handshake/client.rb",
|
33
|
+
"lib/libwebsocket/opening_handshake/server.rb",
|
34
|
+
"lib/libwebsocket/request.rb",
|
35
|
+
"lib/libwebsocket/response.rb",
|
36
|
+
"lib/libwebsocket/stateful.rb",
|
37
|
+
"lib/libwebsocket/url.rb",
|
38
|
+
"libwebsocket.gemspec",
|
60
39
|
"test/libwebsocket/cookie/request.rb",
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
"examples/eventmachine_server.rb",
|
76
|
-
"examples/plain_client.rb",
|
77
|
-
"examples/thin_server.rb"
|
40
|
+
"test/libwebsocket/cookie/response.rb",
|
41
|
+
"test/libwebsocket/opening_handshake/test_client.rb",
|
42
|
+
"test/libwebsocket/opening_handshake/test_server.rb",
|
43
|
+
"test/libwebsocket/test_cookie.rb",
|
44
|
+
"test/libwebsocket/test_frame.rb",
|
45
|
+
"test/libwebsocket/test_message.rb",
|
46
|
+
"test/libwebsocket/test_request_75.rb",
|
47
|
+
"test/libwebsocket/test_request_76.rb",
|
48
|
+
"test/libwebsocket/test_request_common.rb",
|
49
|
+
"test/libwebsocket/test_response_75.rb",
|
50
|
+
"test/libwebsocket/test_response_76.rb",
|
51
|
+
"test/libwebsocket/test_response_common.rb",
|
52
|
+
"test/libwebsocket/test_url.rb",
|
53
|
+
"test/test_helper.rb"
|
78
54
|
]
|
55
|
+
s.homepage = "http://github.com/imanel/libwebsocket"
|
56
|
+
s.require_paths = ["lib"]
|
57
|
+
s.rubygems_version = "1.8.11"
|
58
|
+
s.summary = "Universal Ruby library to handle WebSocket protocol"
|
79
59
|
|
80
60
|
if s.respond_to? :specification_version then
|
81
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
82
61
|
s.specification_version = 3
|
83
62
|
|
84
63
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
@@ -4,14 +4,14 @@ class TestServerOpeningHandshake < Test::Unit::TestCase
|
|
4
4
|
|
5
5
|
def test_to_s
|
6
6
|
h = LibWebSocket::OpeningHandshake::Client.new
|
7
|
-
h.url = 'ws://example.com/demo'
|
7
|
+
h.url = 'ws://example.com/demo?param=true&another=hello'
|
8
8
|
|
9
9
|
# Mocking
|
10
10
|
h.req.key1 = "18x 6]8vM;54 *(5: { U1]8 z [ 8"
|
11
11
|
h.req.key2 = "1_ tx7X d < nw 334J702) 7]o}` 0"
|
12
12
|
h.req.challenge = "Tm[K T2u"
|
13
13
|
|
14
|
-
assert_equal h.to_s, "GET /demo HTTP/1.1\x0d\x0a" +
|
14
|
+
assert_equal h.to_s, "GET /demo?param=true&another=hello HTTP/1.1\x0d\x0a" +
|
15
15
|
"Upgrade: WebSocket\x0d\x0a" +
|
16
16
|
"Connection: Upgrade\x0d\x0a" +
|
17
17
|
"Host: example.com\x0d\x0a" +
|
@@ -61,4 +61,4 @@ class TestServerOpeningHandshake < Test::Unit::TestCase
|
|
61
61
|
assert_equal 'Wrong response line', h.error
|
62
62
|
end
|
63
63
|
|
64
|
-
end
|
64
|
+
end
|
@@ -26,7 +26,7 @@ class TestURL < Test::Unit::TestCase
|
|
26
26
|
assert url.parse('ws://example.com/demo?foo=bar')
|
27
27
|
assert !url.secure
|
28
28
|
assert_equal 'example.com', url.host
|
29
|
-
assert_equal '/demo', url.resource_name
|
29
|
+
assert_equal '/demo?foo=bar', url.resource_name
|
30
30
|
end
|
31
31
|
|
32
32
|
def test_to_s
|
metadata
CHANGED
@@ -1,33 +1,24 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: libwebsocket
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
- 0
|
10
|
-
version: 0.1.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.1
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Bernard Potocki
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
date: 2010-12-05 00:00:00 +01:00
|
19
|
-
default_executable:
|
12
|
+
date: 2011-10-24 00:00:00.000000000Z
|
20
13
|
dependencies: []
|
21
|
-
|
22
14
|
description: Universal Ruby library to handle WebSocket protocol
|
23
15
|
email: bernard.potocki@imanel.org
|
24
16
|
executables: []
|
25
|
-
|
26
17
|
extensions: []
|
27
|
-
|
28
|
-
extra_rdoc_files:
|
18
|
+
extra_rdoc_files:
|
29
19
|
- README.md
|
30
|
-
files:
|
20
|
+
files:
|
21
|
+
- CHANGELOG.md
|
31
22
|
- README.md
|
32
23
|
- Rakefile
|
33
24
|
- examples/eventmachine_server.rb
|
@@ -62,56 +53,28 @@ files:
|
|
62
53
|
- test/libwebsocket/test_response_common.rb
|
63
54
|
- test/libwebsocket/test_url.rb
|
64
55
|
- test/test_helper.rb
|
65
|
-
has_rdoc: true
|
66
56
|
homepage: http://github.com/imanel/libwebsocket
|
67
57
|
licenses: []
|
68
|
-
|
69
58
|
post_install_message:
|
70
|
-
rdoc_options:
|
71
|
-
|
72
|
-
require_paths:
|
59
|
+
rdoc_options: []
|
60
|
+
require_paths:
|
73
61
|
- lib
|
74
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
62
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
75
63
|
none: false
|
76
|
-
requirements:
|
77
|
-
- -
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
|
80
|
-
|
81
|
-
- 0
|
82
|
-
version: "0"
|
83
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - ! '>='
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '0'
|
68
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
84
69
|
none: false
|
85
|
-
requirements:
|
86
|
-
- -
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
|
89
|
-
segments:
|
90
|
-
- 0
|
91
|
-
version: "0"
|
70
|
+
requirements:
|
71
|
+
- - ! '>='
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '0'
|
92
74
|
requirements: []
|
93
|
-
|
94
75
|
rubyforge_project:
|
95
|
-
rubygems_version: 1.
|
76
|
+
rubygems_version: 1.8.11
|
96
77
|
signing_key:
|
97
78
|
specification_version: 3
|
98
79
|
summary: Universal Ruby library to handle WebSocket protocol
|
99
|
-
test_files:
|
100
|
-
- test/libwebsocket/cookie/request.rb
|
101
|
-
- test/libwebsocket/cookie/response.rb
|
102
|
-
- test/libwebsocket/opening_handshake/test_client.rb
|
103
|
-
- test/libwebsocket/opening_handshake/test_server.rb
|
104
|
-
- test/libwebsocket/test_cookie.rb
|
105
|
-
- test/libwebsocket/test_frame.rb
|
106
|
-
- test/libwebsocket/test_message.rb
|
107
|
-
- test/libwebsocket/test_request_75.rb
|
108
|
-
- test/libwebsocket/test_request_76.rb
|
109
|
-
- test/libwebsocket/test_request_common.rb
|
110
|
-
- test/libwebsocket/test_response_75.rb
|
111
|
-
- test/libwebsocket/test_response_76.rb
|
112
|
-
- test/libwebsocket/test_response_common.rb
|
113
|
-
- test/libwebsocket/test_url.rb
|
114
|
-
- test/test_helper.rb
|
115
|
-
- examples/eventmachine_server.rb
|
116
|
-
- examples/plain_client.rb
|
117
|
-
- examples/thin_server.rb
|
80
|
+
test_files: []
|