webrick-websocket 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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