ruflet_server 0.0.12 → 0.0.13
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 +4 -4
- data/lib/ruflet/server/wire_codec.rb +29 -3
- data/lib/ruflet/server.rb +1 -1
- data/lib/ruflet/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 25450e49973d445cda961a273eda6c37aa2e1245865f4094e9c61a6df5dcfdbb
|
|
4
|
+
data.tar.gz: 607f67ac69a68360e657133f1f674f09ea917cdf53a2fe86bcf685e1022786ac
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f4f7c79eda7eeafe780e39e16a90f1196e8f729e802374885f2b283ca7e9f5759f7431747fccd8435ea8d60b8424d19d284c97550cfb1d1f96a952d76c467e63
|
|
7
|
+
data.tar.gz: d659f02495e1d47b9d9272327de7c42788287e0e269b245e2da511a4a7ae5124a7ac1bebf9566292c67567cc7af807beffd28fad84e3693f49dd0248f2ef316c
|
|
@@ -16,7 +16,7 @@ module Ruflet
|
|
|
16
16
|
when Float
|
|
17
17
|
"\xcb".b + [value].pack("G")
|
|
18
18
|
when String
|
|
19
|
-
pack_string(value)
|
|
19
|
+
binary_string?(value) ? pack_binary(value) : pack_string(value)
|
|
20
20
|
when Symbol
|
|
21
21
|
pack_string(value.to_s)
|
|
22
22
|
when Array
|
|
@@ -69,6 +69,23 @@ module Ruflet
|
|
|
69
69
|
end
|
|
70
70
|
end
|
|
71
71
|
|
|
72
|
+
def pack_binary(value)
|
|
73
|
+
bytes = value.to_s.b
|
|
74
|
+
len = bytes.bytesize
|
|
75
|
+
|
|
76
|
+
if len <= 0xff
|
|
77
|
+
"\xc4".b + [len].pack("C") + bytes
|
|
78
|
+
elsif len <= 0xffff
|
|
79
|
+
"\xc5".b + [len].pack("n") + bytes
|
|
80
|
+
else
|
|
81
|
+
"\xc6".b + [len].pack("N") + bytes
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def binary_string?(value)
|
|
86
|
+
value.encoding == Encoding::BINARY || !value.valid_encoding?
|
|
87
|
+
end
|
|
88
|
+
|
|
72
89
|
def pack_array(value)
|
|
73
90
|
len = value.length
|
|
74
91
|
head =
|
|
@@ -178,8 +195,17 @@ module Ruflet
|
|
|
178
195
|
end
|
|
179
196
|
|
|
180
197
|
def read_ext(reader, size)
|
|
181
|
-
reader.read_i8
|
|
182
|
-
reader.read_exact(size)
|
|
198
|
+
type = reader.read_i8
|
|
199
|
+
data = reader.read_exact(size)
|
|
200
|
+
|
|
201
|
+
case type
|
|
202
|
+
when 1, 2, 4
|
|
203
|
+
data.dup.force_encoding("UTF-8")
|
|
204
|
+
when 3
|
|
205
|
+
data.to_i
|
|
206
|
+
else
|
|
207
|
+
data
|
|
208
|
+
end
|
|
183
209
|
end
|
|
184
210
|
end
|
|
185
211
|
|
data/lib/ruflet/server.rb
CHANGED
|
@@ -480,7 +480,7 @@ module Ruflet
|
|
|
480
480
|
|
|
481
481
|
def on_invoke_control_method(ws, payload)
|
|
482
482
|
page = fetch_page(ws)
|
|
483
|
-
page.handle_invoke_method_result(payload)
|
|
483
|
+
page.handle_invoke_method_result(Protocol.normalize_invoke_method_result_payload(payload))
|
|
484
484
|
end
|
|
485
485
|
|
|
486
486
|
def on_control_event(ws, payload)
|
data/lib/ruflet/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ruflet_server
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.13
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- AdamMusa
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - '='
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 0.0.
|
|
18
|
+
version: 0.0.13
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - '='
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 0.0.
|
|
25
|
+
version: 0.0.13
|
|
26
26
|
description: Ruflet WebSocket server runtime compatible with Flet protocol.
|
|
27
27
|
email:
|
|
28
28
|
- adammusa2222@gmail.com
|