webrick-websocket 0.0.1 → 0.0.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 13e2c3b9e1af9682919f83e722d34194fc7dd442
4
- data.tar.gz: ed338c06ac763cc2bb992714dcdf44c5ed077094
3
+ metadata.gz: 751a0e4bc9dc09cacfa4293c43c9a1ad8370e527
4
+ data.tar.gz: cb115143ddf843861663e01505d287d5bbf64024
5
5
  SHA512:
6
- metadata.gz: 1704b541060941ef57644532befe20c718ba0fb0d2f2bc8787b1113423001348e4b8da31de1cfd9fae85aa1e45e4712042729dfcb936c6b02bff0818b74ee0d7
7
- data.tar.gz: 747b5dcfe41c9fd5b07ddd096cf1b1a88dd053c91b8f44098182f7b650b9f6c2232b7648ba1c3f4336e4f9d912fe538bf01383cc11944e30b6b65e06aa6cac41
6
+ metadata.gz: df8f950dbce1b4be858114a1ddea27ce1a3832a715688934f01893e9c79cf5db8cfe92edd129be041a0efdb4f818adcf5030501678dc6161a3935671b7cfb13e
7
+ data.tar.gz: 233609ae4e7e88b6c5c0d188cb32ff6de47cf4f5203cef53cd596fc7fbe282c420a6393b3a06f81e8e02dfaf4e6d7fe213577a70d85af690bcc5cf6c4965fea8
data/.gitignore CHANGED
@@ -1,6 +1,6 @@
1
1
  /.bundle/
2
2
  /.yardoc
3
- /Gemfile.lock
3
+ /Gemfildde.lock
4
4
  /_yardoc/
5
5
  /coverage/
6
6
  /doc/
@@ -12,3 +12,4 @@
12
12
  *.o
13
13
  *.a
14
14
  mkmf.log
15
+ *.gem
data/README.md CHANGED
@@ -22,7 +22,7 @@ class MyServlet < WEBrick::Websocket::Servlet
22
22
  def socket_open(sock)
23
23
  # optional
24
24
  sock.puts 'Welcome' # send a text frame
25
- def
25
+ end
26
26
 
27
27
  def socket_close(sock)
28
28
  puts 'Poof. Socket gone.'
@@ -2,5 +2,6 @@ require 'webrick/httprequest'
2
2
  module WEBrick
3
3
  class HTTPRequest
4
4
  attr_reader :socket
5
+ attr_writer :request_line
5
6
  end
6
7
  end
@@ -35,7 +35,7 @@ module WEBrick
35
35
  len = head & 0b01111111
36
36
  if len > 125
37
37
  long = len == 127
38
- len = socket.read(long ? 8 : 2).unpack(long ? 'Q' : 'S')[0]
38
+ len = socket.read(long ? 8 : 2).unpack(long ? 'Q>' : 'n')[0]
39
39
  end
40
40
  @mask = socket.read(4).unpack('C4') if @masked
41
41
  @payload = socket.read(len)
@@ -67,14 +67,13 @@ module WEBrick
67
67
 
68
68
  def write(sock)
69
69
  head = 0b10000000 + @@ops_rev[@op]
70
- puts head.to_s(2)
71
70
  sock.write([head].pack('C'))
72
71
  @len = @payload.length
73
72
  lendata = if @len > 125
74
73
  if @len > 65535
75
- [127, @len].pack('CQ')
74
+ [127, @len].pack('CQ>')
76
75
  else
77
- [126, @len].pack('CS')
76
+ [126, @len].pack('Cn')
78
77
  end
79
78
  else
80
79
  [@len].pack('C')
@@ -28,9 +28,6 @@ module WEBrick
28
28
  si = servlet.get_instance(self, *options)
29
29
  @logger.debug(format("%s is invoked.", si.class.name))
30
30
  if req['upgrade'] == 'websocket' && si.is_a?(Servlet)
31
- req.header.each do |k, v|
32
- puts "#{k} -> #{v}"
33
- end
34
31
  res.status = 101
35
32
  key = req['Sec-WebSocket-Key']
36
33
  res['Sec-WebSocket-Accept'] = Digest::SHA1.base64digest(key + '258EAFA5-E914-47DA-95CA-C5AB0DC85B11')
@@ -41,7 +38,7 @@ module WEBrick
41
38
  res.send_header(req.socket)
42
39
  sock = WEBrick::Websocket::Socket.new(req.socket, si, @logger)
43
40
  sock.run
44
- res.request_line = nil
41
+ req.request_line = nil
45
42
  else
46
43
  si.service(req, res)
47
44
  end
@@ -1,5 +1,5 @@
1
1
  module WEBrick
2
2
  module Websocket
3
- VERSION = '0.0.1'
3
+ VERSION = '0.0.2'
4
4
  end
5
5
  end
data/testrun/main.html CHANGED
@@ -1,6 +1,6 @@
1
1
  <html>
2
2
  <head>
3
- <title>fag</title>
3
+ <title>Websocket Test</title>
4
4
  <script src="/jquery.min.js"></script>
5
5
  <script src="/jquery-websocket.js"></script>
6
6
  <script>
@@ -23,6 +23,8 @@
23
23
  </script>
24
24
  </head>
25
25
  <body>
26
- wat
26
+ Open Javascript console (Ctrl+Shift+C). Go to 'Console tab'.
27
+ <br />
28
+ To connect to the web socket, type <code>start()</code>. To Send data, type <code>send('Message')</code>
27
29
  </body>
28
30
  </html>
data/testrun/main.rb CHANGED
@@ -4,11 +4,7 @@ require_relative '../lib/webrick/websocket'
4
4
 
5
5
  serv = WEBrick::Websocket::HTTPServer.new(Port: 3000, DocumentRoot: File.dirname(__FILE__), Logger: (WEBrick::Log.new nil, WEBrick::BasicLog::DEBUG))
6
6
 
7
- class SocketServlet < WEBrick::HTTPServlet::AbstractServlet
8
- def select_protocol(input)
9
- puts input.inspect
10
- input.first
11
- end
7
+ class SocketServlet < WEBrick::Websocket::Servlet
12
8
 
13
9
  def socket_text(sock, data)
14
10
  puts data
@@ -17,4 +13,4 @@ class SocketServlet < WEBrick::HTTPServlet::AbstractServlet
17
13
  end
18
14
 
19
15
  serv.mount('/sock', SocketServlet)
20
- serv.start
16
+ serv.start
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webrick-websocket
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kilobyte22
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-06 00:00:00.000000000 Z
11
+ date: 2016-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -97,7 +97,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
97
97
  version: '0'
98
98
  requirements: []
99
99
  rubyforge_project:
100
- rubygems_version: 2.2.2
100
+ rubygems_version: 2.5.1
101
101
  signing_key:
102
102
  specification_version: 4
103
103
  summary: An extension for WEBrick to support websockets