wampproto 0.1.0
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 +7 -0
- data/.rspec +3 -0
- data/.rubocop.yml +39 -0
- data/CHANGELOG.md +5 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/LICENSE +22 -0
- data/README.md +35 -0
- data/Rakefile +12 -0
- data/Steepfile +33 -0
- data/lib/wampproto/acceptor/authenticator.rb +14 -0
- data/lib/wampproto/acceptor/request.rb +58 -0
- data/lib/wampproto/acceptor/response.rb +19 -0
- data/lib/wampproto/acceptor.rb +183 -0
- data/lib/wampproto/auth/anonymous.rb +14 -0
- data/lib/wampproto/auth/base.rb +20 -0
- data/lib/wampproto/auth/cra.rb +84 -0
- data/lib/wampproto/auth/cryptosign.rb +86 -0
- data/lib/wampproto/auth/helpers.rb +25 -0
- data/lib/wampproto/auth/ticket.rb +27 -0
- data/lib/wampproto/auth.rb +14 -0
- data/lib/wampproto/broker.rb +155 -0
- data/lib/wampproto/dealer.rb +143 -0
- data/lib/wampproto/id_generator.rb +23 -0
- data/lib/wampproto/joiner.rb +78 -0
- data/lib/wampproto/message/abort.rb +32 -0
- data/lib/wampproto/message/authenticate.rb +25 -0
- data/lib/wampproto/message/base.rb +30 -0
- data/lib/wampproto/message/call.rb +33 -0
- data/lib/wampproto/message/challenge.rb +25 -0
- data/lib/wampproto/message/error.rb +27 -0
- data/lib/wampproto/message/event.rb +33 -0
- data/lib/wampproto/message/goodbye.rb +25 -0
- data/lib/wampproto/message/hello.rb +64 -0
- data/lib/wampproto/message/invocation.rb +33 -0
- data/lib/wampproto/message/publish.rb +33 -0
- data/lib/wampproto/message/published.rb +25 -0
- data/lib/wampproto/message/register.rb +26 -0
- data/lib/wampproto/message/registered.rb +25 -0
- data/lib/wampproto/message/result.rb +32 -0
- data/lib/wampproto/message/subscribe.rb +26 -0
- data/lib/wampproto/message/subscribed.rb +25 -0
- data/lib/wampproto/message/unregister.rb +25 -0
- data/lib/wampproto/message/unregistered.rb +24 -0
- data/lib/wampproto/message/unsubscribe.rb +25 -0
- data/lib/wampproto/message/unsubscribed.rb +24 -0
- data/lib/wampproto/message/welcome.rb +41 -0
- data/lib/wampproto/message/yield.rb +32 -0
- data/lib/wampproto/message.rb +108 -0
- data/lib/wampproto/message_with_recipient.rb +13 -0
- data/lib/wampproto/serializer/cbor.rb +18 -0
- data/lib/wampproto/serializer/json.rb +18 -0
- data/lib/wampproto/serializer/msgpack.rb +18 -0
- data/lib/wampproto/serializer.rb +5 -0
- data/lib/wampproto/session.rb +144 -0
- data/lib/wampproto/session_details.rb +24 -0
- data/lib/wampproto/validate.rb +52 -0
- data/lib/wampproto/version.rb +5 -0
- data/lib/wampproto.rb +32 -0
- data/sig/cbor.rbs +5 -0
- data/sig/ed25519/signing_key.rbs +7 -0
- data/sig/ed25519/verify_key.rbs +7 -0
- data/sig/message_pack.rbs +5 -0
- data/sig/wampproto/acceptor/authenticator.rbs +9 -0
- data/sig/wampproto/acceptor/request.rbs +46 -0
- data/sig/wampproto/acceptor/response.rbs +25 -0
- data/sig/wampproto/acceptor.rbs +86 -0
- data/sig/wampproto/auth/anonymous.rbs +13 -0
- data/sig/wampproto/auth/base.rbs +25 -0
- data/sig/wampproto/auth/cra.rbs +34 -0
- data/sig/wampproto/auth/cryptosign.rbs +38 -0
- data/sig/wampproto/auth/helpers.rbs +16 -0
- data/sig/wampproto/auth/ticket.rbs +21 -0
- data/sig/wampproto/broker.rbs +48 -0
- data/sig/wampproto/dealer.rbs +49 -0
- data/sig/wampproto/id_generator.rbs +17 -0
- data/sig/wampproto/joiner.rbs +43 -0
- data/sig/wampproto/message/abort.rbs +31 -0
- data/sig/wampproto/message/authenticate.rbs +20 -0
- data/sig/wampproto/message/base.rbs +14 -0
- data/sig/wampproto/message/call.rbs +34 -0
- data/sig/wampproto/message/challenge.rbs +20 -0
- data/sig/wampproto/message/error.rbs +28 -0
- data/sig/wampproto/message/event.rbs +34 -0
- data/sig/wampproto/message/goodbye.rbs +21 -0
- data/sig/wampproto/message/hello.rbs +39 -0
- data/sig/wampproto/message/invocation.rbs +34 -0
- data/sig/wampproto/message/publish.rbs +32 -0
- data/sig/wampproto/message/published.rbs +20 -0
- data/sig/wampproto/message/register.rbs +24 -0
- data/sig/wampproto/message/registered.rbs +20 -0
- data/sig/wampproto/message/result.rbs +32 -0
- data/sig/wampproto/message/subscribe.rbs +24 -0
- data/sig/wampproto/message/subscribed.rbs +20 -0
- data/sig/wampproto/message/unregister.rbs +20 -0
- data/sig/wampproto/message/unregistered.rbs +16 -0
- data/sig/wampproto/message/unsubscribe.rbs +20 -0
- data/sig/wampproto/message/unsubscribed.rbs +16 -0
- data/sig/wampproto/message/welcome.rbs +36 -0
- data/sig/wampproto/message/yield.rbs +30 -0
- data/sig/wampproto/message.rbs +59 -0
- data/sig/wampproto/message_with_recipient.rbs +15 -0
- data/sig/wampproto/serializer/cbor.rbs +10 -0
- data/sig/wampproto/serializer/json.rbs +11 -0
- data/sig/wampproto/serializer/msgpack.rbs +11 -0
- data/sig/wampproto/session.rbs +43 -0
- data/sig/wampproto/session_details.rbs +25 -0
- data/sig/wampproto/validate.rbs +18 -0
- data/sig/wampproto.rbs +17 -0
- data/wampproto.gemspec +39 -0
- metadata +196 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
module Wampproto
|
|
2
|
+
module Message
|
|
3
|
+
# wamp call message
|
|
4
|
+
class Result < Base
|
|
5
|
+
@request_id: Integer
|
|
6
|
+
|
|
7
|
+
@details: Hash[Symbol, untyped]
|
|
8
|
+
|
|
9
|
+
@args: Array[untyped]
|
|
10
|
+
|
|
11
|
+
@kwargs: Hash[Symbol, untyped]
|
|
12
|
+
|
|
13
|
+
@payload: Array[untyped]
|
|
14
|
+
|
|
15
|
+
attr_reader request_id: Integer
|
|
16
|
+
|
|
17
|
+
attr_reader details: Hash[Symbol, untyped]
|
|
18
|
+
|
|
19
|
+
attr_reader procedure: String
|
|
20
|
+
|
|
21
|
+
attr_reader args: Array[untyped]
|
|
22
|
+
|
|
23
|
+
attr_reader kwargs: Hash[Symbol, untyped]
|
|
24
|
+
|
|
25
|
+
def initialize: (Integer request_id, Hash[Symbol, untyped] details, *Array[untyped] args, **Hash[Symbol, untyped] kwargs) -> void
|
|
26
|
+
|
|
27
|
+
def marshal: () -> Array[untyped]
|
|
28
|
+
|
|
29
|
+
def self.parse: (Array[untyped] wamp_message) -> Result
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
module Wampproto
|
|
2
|
+
module Message
|
|
3
|
+
# abort message
|
|
4
|
+
class Subscribe < Base
|
|
5
|
+
@request_id: Integer
|
|
6
|
+
|
|
7
|
+
@options: Hash[Symbol, untyped]
|
|
8
|
+
|
|
9
|
+
@topic: String
|
|
10
|
+
|
|
11
|
+
attr_reader request_id: Integer
|
|
12
|
+
|
|
13
|
+
attr_reader options: Hash[Symbol, untyped]
|
|
14
|
+
|
|
15
|
+
attr_reader topic: String
|
|
16
|
+
|
|
17
|
+
def initialize: (Integer request_id, Hash[Symbol, untyped] options, String topic) -> void
|
|
18
|
+
|
|
19
|
+
def marshal: () -> ::Array[untyped]
|
|
20
|
+
|
|
21
|
+
def self.parse: (Array[untyped] wamp_message) -> Subscribe
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module Wampproto
|
|
2
|
+
module Message
|
|
3
|
+
# abort message
|
|
4
|
+
class Subscribed
|
|
5
|
+
@request_id: Integer
|
|
6
|
+
|
|
7
|
+
@subscription_id: Integer
|
|
8
|
+
|
|
9
|
+
attr_reader request_id: Integer
|
|
10
|
+
|
|
11
|
+
attr_reader subscription_id: Integer
|
|
12
|
+
|
|
13
|
+
def initialize: (Integer request_id, Integer subscription_id) -> void
|
|
14
|
+
|
|
15
|
+
def marshal: () -> ::Array[untyped]
|
|
16
|
+
|
|
17
|
+
def self.parse: (Array[untyped] wamp_message) -> Subscribed
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module Wampproto
|
|
2
|
+
module Message
|
|
3
|
+
# unregister message
|
|
4
|
+
class Unregister < Base
|
|
5
|
+
@request_id: Integer
|
|
6
|
+
|
|
7
|
+
@registration_id: Integer
|
|
8
|
+
|
|
9
|
+
attr_reader request_id: Integer
|
|
10
|
+
|
|
11
|
+
attr_reader registration_id: Integer
|
|
12
|
+
|
|
13
|
+
def initialize: (Integer request_id, Integer registration_id) -> void
|
|
14
|
+
|
|
15
|
+
def marshal: () -> ::Array[untyped]
|
|
16
|
+
|
|
17
|
+
def self.parse: (Array[untyped] wamp_message) -> Unregister
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module Wampproto
|
|
2
|
+
module Message
|
|
3
|
+
# unregistered message
|
|
4
|
+
class Unregistered < Base
|
|
5
|
+
@request_id: Integer
|
|
6
|
+
|
|
7
|
+
attr_reader request_id: Integer
|
|
8
|
+
|
|
9
|
+
def initialize: (Integer request_id) -> void
|
|
10
|
+
|
|
11
|
+
def marshal: () -> ::Array[untyped]
|
|
12
|
+
|
|
13
|
+
def self.parse: (Array[untyped] wamp_message) -> Unregistered
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module Wampproto
|
|
2
|
+
module Message
|
|
3
|
+
# abort message
|
|
4
|
+
class Unsubscribe < Base
|
|
5
|
+
@request_id: Integer
|
|
6
|
+
|
|
7
|
+
@subscription_id: Integer
|
|
8
|
+
|
|
9
|
+
attr_reader request_id: Integer
|
|
10
|
+
|
|
11
|
+
attr_reader subscription_id: Integer
|
|
12
|
+
|
|
13
|
+
def initialize: (Integer request_id, Integer subscription_id) -> void
|
|
14
|
+
|
|
15
|
+
def marshal: () -> ::Array[untyped]
|
|
16
|
+
|
|
17
|
+
def self.parse: (Array[untyped] wamp_message) -> Unsubscribe
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module Wampproto
|
|
2
|
+
module Message
|
|
3
|
+
# Unsubscribed message
|
|
4
|
+
class Unsubscribed < Base
|
|
5
|
+
@request_id: Integer
|
|
6
|
+
|
|
7
|
+
attr_reader request_id: Integer
|
|
8
|
+
|
|
9
|
+
def initialize: (Integer request_id) -> void
|
|
10
|
+
|
|
11
|
+
def marshal: () -> ::Array[untyped]
|
|
12
|
+
|
|
13
|
+
def self.parse: (Array[untyped] wamp_message) -> Unsubscribed
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
module Wampproto
|
|
2
|
+
module Message
|
|
3
|
+
# welcome message
|
|
4
|
+
class Welcome < Base
|
|
5
|
+
@session_id: Integer
|
|
6
|
+
|
|
7
|
+
@details: Hash[Symbol, untyped]
|
|
8
|
+
|
|
9
|
+
@authrole: String
|
|
10
|
+
|
|
11
|
+
@authid: String
|
|
12
|
+
|
|
13
|
+
@authmethod: String
|
|
14
|
+
|
|
15
|
+
@authextra: Hash[Symbol, untyped]
|
|
16
|
+
|
|
17
|
+
attr_reader session_id: Integer
|
|
18
|
+
|
|
19
|
+
attr_reader details: Hash[Symbol, untyped]
|
|
20
|
+
|
|
21
|
+
def initialize: (Integer session_id, ?::Hash[Symbol, untyped] details) -> void
|
|
22
|
+
|
|
23
|
+
def marshal: () -> ::Array[untyped]
|
|
24
|
+
|
|
25
|
+
def authrole: () -> String
|
|
26
|
+
|
|
27
|
+
def authid: () -> String
|
|
28
|
+
|
|
29
|
+
def authmethod: () -> String
|
|
30
|
+
|
|
31
|
+
def authextra: () -> (Hash[Symbol, untyped] | nil)
|
|
32
|
+
|
|
33
|
+
def self.parse: (Array[untyped] wamp_message) -> Welcome
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
module Wampproto
|
|
2
|
+
module Message
|
|
3
|
+
# yield message
|
|
4
|
+
class Yield < Base
|
|
5
|
+
@request_id: Integer
|
|
6
|
+
|
|
7
|
+
@options: Hash[Symbol, untyped]
|
|
8
|
+
|
|
9
|
+
@args: Array[untyped]
|
|
10
|
+
|
|
11
|
+
@kwargs: Hash[Symbol, untyped]
|
|
12
|
+
|
|
13
|
+
@payload: Array[untyped]
|
|
14
|
+
|
|
15
|
+
attr_reader request_id: Integer
|
|
16
|
+
|
|
17
|
+
attr_reader options: Hash[Symbol, untyped]
|
|
18
|
+
|
|
19
|
+
attr_reader args: Array[untyped]
|
|
20
|
+
|
|
21
|
+
attr_reader kwargs: Hash[Symbol, untyped]
|
|
22
|
+
|
|
23
|
+
def initialize: (Integer request_id, Hash[Symbol, untyped] options, *Array[untyped] args, **Hash[Symbol, untyped] kwargs) -> void
|
|
24
|
+
|
|
25
|
+
def marshal: () -> Array[untyped]
|
|
26
|
+
|
|
27
|
+
def self.parse: (Array[untyped] wamp_message) -> Yield
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
module Wampproto
|
|
2
|
+
# message root
|
|
3
|
+
module Message
|
|
4
|
+
module Type
|
|
5
|
+
HELLO: 1
|
|
6
|
+
|
|
7
|
+
WELCOME: 2
|
|
8
|
+
|
|
9
|
+
ABORT: 3
|
|
10
|
+
|
|
11
|
+
CHALLENGE: 4
|
|
12
|
+
|
|
13
|
+
AUTHENTICATE: 5
|
|
14
|
+
|
|
15
|
+
GOODBYE: 6
|
|
16
|
+
|
|
17
|
+
ERROR: 8
|
|
18
|
+
|
|
19
|
+
PUBLISH: 16
|
|
20
|
+
|
|
21
|
+
PUBLISHED: 17
|
|
22
|
+
|
|
23
|
+
SUBSCRIBE: 32
|
|
24
|
+
|
|
25
|
+
SUBSCRIBED: 33
|
|
26
|
+
|
|
27
|
+
UNSUBSCRIBE: 34
|
|
28
|
+
|
|
29
|
+
UNSUBSCRIBED: 35
|
|
30
|
+
|
|
31
|
+
EVENT: 36
|
|
32
|
+
|
|
33
|
+
CALL: 48
|
|
34
|
+
|
|
35
|
+
CANCEL: 49
|
|
36
|
+
|
|
37
|
+
RESULT: 50
|
|
38
|
+
|
|
39
|
+
REGISTER: 64
|
|
40
|
+
|
|
41
|
+
REGISTERED: 65
|
|
42
|
+
|
|
43
|
+
UNREGISTER: 66
|
|
44
|
+
|
|
45
|
+
UNREGISTERED: 67
|
|
46
|
+
|
|
47
|
+
INVOCATION: 68
|
|
48
|
+
|
|
49
|
+
INTERRUPT: 69
|
|
50
|
+
|
|
51
|
+
YIELD: 70
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
HANDLER: ::Hash[Integer, singleton(Message::Base)]
|
|
55
|
+
|
|
56
|
+
def self.resolve: (Array[untyped] wamp_message) -> Message::Base
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module Wampproto
|
|
2
|
+
# handler class for dealer and broker responses
|
|
3
|
+
class MessageWithRecipient
|
|
4
|
+
@message: untyped
|
|
5
|
+
|
|
6
|
+
@recipient: Integer
|
|
7
|
+
|
|
8
|
+
attr_reader message: untyped
|
|
9
|
+
|
|
10
|
+
attr_reader recipient: Integer
|
|
11
|
+
|
|
12
|
+
def initialize: (untyped message, Integer recipient) -> void
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module Wampproto
|
|
2
|
+
# Session
|
|
3
|
+
class Session
|
|
4
|
+
type serializerTypes = (singleton(Serializer::JSON) | singleton(Serializer::Msgpack) | singleton(Serializer::Cbor))
|
|
5
|
+
|
|
6
|
+
@serializer: serializerTypes
|
|
7
|
+
@call_requests: Hash[Integer, Integer]
|
|
8
|
+
@register_requests: Hash[Integer, Integer]
|
|
9
|
+
@registrations: Hash[Integer, Integer]
|
|
10
|
+
@invocation_requests: Hash[Integer, Integer]
|
|
11
|
+
@unregister_requests: Hash[Integer, Integer]
|
|
12
|
+
@publish_requests: Hash[Integer, Integer]
|
|
13
|
+
@subscribe_requests: Hash[Integer, Integer]
|
|
14
|
+
@subscriptions: Hash[Integer, Integer]
|
|
15
|
+
@unsubscribe_requests: Hash[Integer, Integer]
|
|
16
|
+
|
|
17
|
+
attr_reader serializer: serializerTypes
|
|
18
|
+
attr_reader call_requests: Hash[Integer, Integer]
|
|
19
|
+
attr_reader register_requests: Hash[Integer, Integer]
|
|
20
|
+
attr_reader registrations: Hash[Integer, Integer]
|
|
21
|
+
attr_reader invocation_requests: Hash[Integer, Integer]
|
|
22
|
+
attr_reader unregister_requests: Hash[Integer, Integer]
|
|
23
|
+
attr_reader publish_requests: Hash[Integer, Integer]
|
|
24
|
+
attr_reader subscribe_requests: Hash[Integer, Integer]
|
|
25
|
+
attr_reader subscriptions: Hash[Integer, Integer]
|
|
26
|
+
attr_reader unsubscribe_requests: Hash[Integer, Integer]
|
|
27
|
+
|
|
28
|
+
def initialize: (?serializerTypes serializer) -> void
|
|
29
|
+
|
|
30
|
+
ACCESSORS: ::Array[:call_requests | :register_requests | :registrations | :invocation_requests | :unregister_requests | :publish_requests | :subscribe_requests | :subscriptions | :unsubscribe_requests]
|
|
31
|
+
|
|
32
|
+
def send_message: (Message::Base msg) -> untyped
|
|
33
|
+
|
|
34
|
+
def receive: (untyped data) -> untyped
|
|
35
|
+
|
|
36
|
+
def receive_message: (Message::Base msg) -> untyped
|
|
37
|
+
|
|
38
|
+
private
|
|
39
|
+
|
|
40
|
+
def init_state: () -> untyped
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module Wampproto
|
|
2
|
+
# Session Details
|
|
3
|
+
class SessionDetails
|
|
4
|
+
@session_id: Integer
|
|
5
|
+
|
|
6
|
+
@realm: String
|
|
7
|
+
|
|
8
|
+
@authid: String
|
|
9
|
+
|
|
10
|
+
@authrole: String
|
|
11
|
+
|
|
12
|
+
attr_reader session_id: Integer
|
|
13
|
+
|
|
14
|
+
attr_reader realm: String
|
|
15
|
+
|
|
16
|
+
attr_reader authid: String
|
|
17
|
+
|
|
18
|
+
attr_reader authrole: String
|
|
19
|
+
|
|
20
|
+
def initialize: (Integer session_id, String realm, String authid, String authrole) -> void
|
|
21
|
+
|
|
22
|
+
def ==: (SessionDetails other) -> bool
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module Wampproto
|
|
2
|
+
# validation
|
|
3
|
+
class Validate
|
|
4
|
+
def self.int!: (String name, Integer value) -> Integer
|
|
5
|
+
|
|
6
|
+
def self.string!: (String name, String value) -> String
|
|
7
|
+
|
|
8
|
+
def self.hash!: (String name, Hash[Symbol, untyped] value) -> Hash[Symbol, untyped]
|
|
9
|
+
|
|
10
|
+
def self.array!: (String name, Array[untyped] value) -> Array[untyped]
|
|
11
|
+
|
|
12
|
+
def self.length!: (Array[untyped] array, Integer expected_length) -> Array[untyped]
|
|
13
|
+
|
|
14
|
+
def self.greater_than_equal!: (Array[untyped] array, untyped expected_length) -> Array[untyped]
|
|
15
|
+
|
|
16
|
+
def self.options!: (Hash[Symbol, untyped] options, Array[Symbol] valid_keys) -> Hash[Symbol, untyped]
|
|
17
|
+
end
|
|
18
|
+
end
|
data/sig/wampproto.rbs
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module Wampproto
|
|
2
|
+
VERSION: String
|
|
3
|
+
class Error < StandardError
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
# ProtocolViolation Exception
|
|
7
|
+
class ProtocolViolation < StandardError
|
|
8
|
+
@uri: String
|
|
9
|
+
|
|
10
|
+
attr_reader uri: String
|
|
11
|
+
|
|
12
|
+
def initialize: (?::String msg, ?::String uri) -> void
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
class ValueError < StandardError
|
|
16
|
+
end
|
|
17
|
+
end
|
data/wampproto.gemspec
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "lib/wampproto/version"
|
|
4
|
+
|
|
5
|
+
Gem::Specification.new do |spec|
|
|
6
|
+
spec.name = "wampproto"
|
|
7
|
+
spec.version = Wampproto::VERSION
|
|
8
|
+
spec.authors = ["Ismail Akram"]
|
|
9
|
+
spec.email = ["rubyonrails3@gmail.com"]
|
|
10
|
+
|
|
11
|
+
spec.summary = "Sans-IO WAMP protocol implementation in Ruby"
|
|
12
|
+
spec.description = "Sans-IO WAMP protocol implementation in Ruby"
|
|
13
|
+
spec.homepage = "https://github.com/xconnio/wampproto.rb"
|
|
14
|
+
spec.license = "MIT"
|
|
15
|
+
spec.required_ruby_version = ">= 3.3.0"
|
|
16
|
+
|
|
17
|
+
# spec.metadata["allowed_push_host"] = "TODO: Set to your gem server 'https://example.com'"
|
|
18
|
+
|
|
19
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
|
20
|
+
spec.metadata["source_code_uri"] = spec.homepage
|
|
21
|
+
spec.metadata["rubygems_mfa_required"] = "true"
|
|
22
|
+
# spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
|
|
23
|
+
|
|
24
|
+
# Specify which files should be added to the gem when it is released.
|
|
25
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
26
|
+
spec.files = Dir.chdir(__dir__) do
|
|
27
|
+
`git ls-files -z`.split("\x0").reject do |f|
|
|
28
|
+
(File.expand_path(f) == __FILE__) ||
|
|
29
|
+
f.start_with?(*%w[bin/ test/ spec/ features/ .git .github appveyor Gemfile])
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
spec.bindir = "exe"
|
|
33
|
+
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
|
34
|
+
spec.require_paths = ["lib"]
|
|
35
|
+
|
|
36
|
+
spec.add_dependency "cbor", "~> 0.5.9.8"
|
|
37
|
+
spec.add_dependency "ed25519", "~> 1.3"
|
|
38
|
+
spec.add_dependency "msgpack", "~> 1.7.2"
|
|
39
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: wampproto
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Ismail Akram
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: exe
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2024-05-19 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: cbor
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: 0.5.9.8
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: 0.5.9.8
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: ed25519
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '1.3'
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '1.3'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: msgpack
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: 1.7.2
|
|
48
|
+
type: :runtime
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: 1.7.2
|
|
55
|
+
description: Sans-IO WAMP protocol implementation in Ruby
|
|
56
|
+
email:
|
|
57
|
+
- rubyonrails3@gmail.com
|
|
58
|
+
executables: []
|
|
59
|
+
extensions: []
|
|
60
|
+
extra_rdoc_files: []
|
|
61
|
+
files:
|
|
62
|
+
- ".rspec"
|
|
63
|
+
- ".rubocop.yml"
|
|
64
|
+
- CHANGELOG.md
|
|
65
|
+
- CODE_OF_CONDUCT.md
|
|
66
|
+
- LICENSE
|
|
67
|
+
- README.md
|
|
68
|
+
- Rakefile
|
|
69
|
+
- Steepfile
|
|
70
|
+
- lib/wampproto.rb
|
|
71
|
+
- lib/wampproto/acceptor.rb
|
|
72
|
+
- lib/wampproto/acceptor/authenticator.rb
|
|
73
|
+
- lib/wampproto/acceptor/request.rb
|
|
74
|
+
- lib/wampproto/acceptor/response.rb
|
|
75
|
+
- lib/wampproto/auth.rb
|
|
76
|
+
- lib/wampproto/auth/anonymous.rb
|
|
77
|
+
- lib/wampproto/auth/base.rb
|
|
78
|
+
- lib/wampproto/auth/cra.rb
|
|
79
|
+
- lib/wampproto/auth/cryptosign.rb
|
|
80
|
+
- lib/wampproto/auth/helpers.rb
|
|
81
|
+
- lib/wampproto/auth/ticket.rb
|
|
82
|
+
- lib/wampproto/broker.rb
|
|
83
|
+
- lib/wampproto/dealer.rb
|
|
84
|
+
- lib/wampproto/id_generator.rb
|
|
85
|
+
- lib/wampproto/joiner.rb
|
|
86
|
+
- lib/wampproto/message.rb
|
|
87
|
+
- lib/wampproto/message/abort.rb
|
|
88
|
+
- lib/wampproto/message/authenticate.rb
|
|
89
|
+
- lib/wampproto/message/base.rb
|
|
90
|
+
- lib/wampproto/message/call.rb
|
|
91
|
+
- lib/wampproto/message/challenge.rb
|
|
92
|
+
- lib/wampproto/message/error.rb
|
|
93
|
+
- lib/wampproto/message/event.rb
|
|
94
|
+
- lib/wampproto/message/goodbye.rb
|
|
95
|
+
- lib/wampproto/message/hello.rb
|
|
96
|
+
- lib/wampproto/message/invocation.rb
|
|
97
|
+
- lib/wampproto/message/publish.rb
|
|
98
|
+
- lib/wampproto/message/published.rb
|
|
99
|
+
- lib/wampproto/message/register.rb
|
|
100
|
+
- lib/wampproto/message/registered.rb
|
|
101
|
+
- lib/wampproto/message/result.rb
|
|
102
|
+
- lib/wampproto/message/subscribe.rb
|
|
103
|
+
- lib/wampproto/message/subscribed.rb
|
|
104
|
+
- lib/wampproto/message/unregister.rb
|
|
105
|
+
- lib/wampproto/message/unregistered.rb
|
|
106
|
+
- lib/wampproto/message/unsubscribe.rb
|
|
107
|
+
- lib/wampproto/message/unsubscribed.rb
|
|
108
|
+
- lib/wampproto/message/welcome.rb
|
|
109
|
+
- lib/wampproto/message/yield.rb
|
|
110
|
+
- lib/wampproto/message_with_recipient.rb
|
|
111
|
+
- lib/wampproto/serializer.rb
|
|
112
|
+
- lib/wampproto/serializer/cbor.rb
|
|
113
|
+
- lib/wampproto/serializer/json.rb
|
|
114
|
+
- lib/wampproto/serializer/msgpack.rb
|
|
115
|
+
- lib/wampproto/session.rb
|
|
116
|
+
- lib/wampproto/session_details.rb
|
|
117
|
+
- lib/wampproto/validate.rb
|
|
118
|
+
- lib/wampproto/version.rb
|
|
119
|
+
- sig/cbor.rbs
|
|
120
|
+
- sig/ed25519/signing_key.rbs
|
|
121
|
+
- sig/ed25519/verify_key.rbs
|
|
122
|
+
- sig/message_pack.rbs
|
|
123
|
+
- sig/wampproto.rbs
|
|
124
|
+
- sig/wampproto/acceptor.rbs
|
|
125
|
+
- sig/wampproto/acceptor/authenticator.rbs
|
|
126
|
+
- sig/wampproto/acceptor/request.rbs
|
|
127
|
+
- sig/wampproto/acceptor/response.rbs
|
|
128
|
+
- sig/wampproto/auth/anonymous.rbs
|
|
129
|
+
- sig/wampproto/auth/base.rbs
|
|
130
|
+
- sig/wampproto/auth/cra.rbs
|
|
131
|
+
- sig/wampproto/auth/cryptosign.rbs
|
|
132
|
+
- sig/wampproto/auth/helpers.rbs
|
|
133
|
+
- sig/wampproto/auth/ticket.rbs
|
|
134
|
+
- sig/wampproto/broker.rbs
|
|
135
|
+
- sig/wampproto/dealer.rbs
|
|
136
|
+
- sig/wampproto/id_generator.rbs
|
|
137
|
+
- sig/wampproto/joiner.rbs
|
|
138
|
+
- sig/wampproto/message.rbs
|
|
139
|
+
- sig/wampproto/message/abort.rbs
|
|
140
|
+
- sig/wampproto/message/authenticate.rbs
|
|
141
|
+
- sig/wampproto/message/base.rbs
|
|
142
|
+
- sig/wampproto/message/call.rbs
|
|
143
|
+
- sig/wampproto/message/challenge.rbs
|
|
144
|
+
- sig/wampproto/message/error.rbs
|
|
145
|
+
- sig/wampproto/message/event.rbs
|
|
146
|
+
- sig/wampproto/message/goodbye.rbs
|
|
147
|
+
- sig/wampproto/message/hello.rbs
|
|
148
|
+
- sig/wampproto/message/invocation.rbs
|
|
149
|
+
- sig/wampproto/message/publish.rbs
|
|
150
|
+
- sig/wampproto/message/published.rbs
|
|
151
|
+
- sig/wampproto/message/register.rbs
|
|
152
|
+
- sig/wampproto/message/registered.rbs
|
|
153
|
+
- sig/wampproto/message/result.rbs
|
|
154
|
+
- sig/wampproto/message/subscribe.rbs
|
|
155
|
+
- sig/wampproto/message/subscribed.rbs
|
|
156
|
+
- sig/wampproto/message/unregister.rbs
|
|
157
|
+
- sig/wampproto/message/unregistered.rbs
|
|
158
|
+
- sig/wampproto/message/unsubscribe.rbs
|
|
159
|
+
- sig/wampproto/message/unsubscribed.rbs
|
|
160
|
+
- sig/wampproto/message/welcome.rbs
|
|
161
|
+
- sig/wampproto/message/yield.rbs
|
|
162
|
+
- sig/wampproto/message_with_recipient.rbs
|
|
163
|
+
- sig/wampproto/serializer/cbor.rbs
|
|
164
|
+
- sig/wampproto/serializer/json.rbs
|
|
165
|
+
- sig/wampproto/serializer/msgpack.rbs
|
|
166
|
+
- sig/wampproto/session.rbs
|
|
167
|
+
- sig/wampproto/session_details.rbs
|
|
168
|
+
- sig/wampproto/validate.rbs
|
|
169
|
+
- wampproto.gemspec
|
|
170
|
+
homepage: https://github.com/xconnio/wampproto.rb
|
|
171
|
+
licenses:
|
|
172
|
+
- MIT
|
|
173
|
+
metadata:
|
|
174
|
+
homepage_uri: https://github.com/xconnio/wampproto.rb
|
|
175
|
+
source_code_uri: https://github.com/xconnio/wampproto.rb
|
|
176
|
+
rubygems_mfa_required: 'true'
|
|
177
|
+
post_install_message:
|
|
178
|
+
rdoc_options: []
|
|
179
|
+
require_paths:
|
|
180
|
+
- lib
|
|
181
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
182
|
+
requirements:
|
|
183
|
+
- - ">="
|
|
184
|
+
- !ruby/object:Gem::Version
|
|
185
|
+
version: 3.3.0
|
|
186
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
187
|
+
requirements:
|
|
188
|
+
- - ">="
|
|
189
|
+
- !ruby/object:Gem::Version
|
|
190
|
+
version: '0'
|
|
191
|
+
requirements: []
|
|
192
|
+
rubygems_version: 3.3.27
|
|
193
|
+
signing_key:
|
|
194
|
+
specification_version: 4
|
|
195
|
+
summary: Sans-IO WAMP protocol implementation in Ruby
|
|
196
|
+
test_files: []
|