anycable-core 1.2.2 → 1.2.3
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/CHANGELOG.md +4 -0
- data/lib/anycable/cli.rb +8 -0
- data/lib/anycable/config.rb +2 -1
- data/lib/anycable/middlewares/env_sid.rb +15 -0
- data/lib/anycable/rpc.rb +7 -0
- data/lib/anycable/socket.rb +2 -1
- data/lib/anycable/version.rb +1 -1
- data/lib/anycable.rb +1 -0
- data/sig/anycable/middlewares/env_sid.rbs +6 -0
- data/sig/anycable/rpc.rbs +1 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3ae8ddced1365e350a744545ed12da6e42fffbaa3f58d40b0f9d83598077a88a
|
4
|
+
data.tar.gz: 6637778d168c99c19a760a635455496ee121dfbbe0fd2472a3a29c4311ce3f7d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3446218216fc8c7b76a0ddd249a8976afe8f9ddf83cdd4714bc29a94a2037caa066c5cae02bcb4a8109fd64555f80b871a4c718d059ec6382e814e9b7cc11ff0
|
7
|
+
data.tar.gz: 3711df758ce8d1963f158371f5c80a06757ffd3b392acf28cbec79652abe6d61e821800ddd6f2054310d2082a651263bcbe56bfb56a5af11dfc1bbdbe40044e8
|
data/CHANGELOG.md
CHANGED
data/lib/anycable/cli.rb
CHANGED
@@ -65,6 +65,8 @@ module AnyCable
|
|
65
65
|
|
66
66
|
check_version!
|
67
67
|
|
68
|
+
configure_middleware!
|
69
|
+
|
68
70
|
@server = AnyCable.server_builder.call(config)
|
69
71
|
|
70
72
|
# Make sure middlewares are not adding after server has started
|
@@ -265,6 +267,12 @@ module AnyCable
|
|
265
267
|
)
|
266
268
|
end
|
267
269
|
|
270
|
+
def configure_middleware!
|
271
|
+
if config.sid_header_enabled?
|
272
|
+
AnyCable.middleware.use(AnyCable::Middlewares::EnvSid)
|
273
|
+
end
|
274
|
+
end
|
275
|
+
|
268
276
|
def parse_gem_options!(args)
|
269
277
|
config.parse_options!(args)
|
270
278
|
rescue OptionParser::InvalidOption => e
|
data/lib/anycable/config.rb
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module AnyCable
|
4
|
+
module Middlewares
|
5
|
+
# Set sid for request.env from metadata
|
6
|
+
class EnvSid < AnyCable::Middleware
|
7
|
+
def call(_method, request, meta)
|
8
|
+
return yield unless meta["sid"]
|
9
|
+
request.env.sid = meta["sid"]
|
10
|
+
|
11
|
+
yield
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/anycable/rpc.rb
CHANGED
data/lib/anycable/socket.rb
CHANGED
@@ -129,7 +129,8 @@ module AnyCable
|
|
129
129
|
"rack.url_scheme" => uri.scheme&.sub(/^ws/, "http"),
|
130
130
|
# AnyCable specific fields
|
131
131
|
"anycable.raw_cstate" => request_env.cstate&.to_h,
|
132
|
-
"anycable.raw_istate" => request_env.istate&.to_h
|
132
|
+
"anycable.raw_istate" => request_env.istate&.to_h,
|
133
|
+
"anycable.sid" => request_env.sid
|
133
134
|
}.delete_if { |_k, v| v.nil? })
|
134
135
|
|
135
136
|
env.merge!(build_headers(headers))
|
data/lib/anycable/version.rb
CHANGED
data/lib/anycable.rb
CHANGED
@@ -10,6 +10,7 @@ require "anycable/broadcast_adapters"
|
|
10
10
|
require "anycable/middleware_chain"
|
11
11
|
require "anycable/middlewares/exceptions"
|
12
12
|
require "anycable/middlewares/check_version"
|
13
|
+
require "anycable/middlewares/env_sid"
|
13
14
|
|
14
15
|
require "anycable/socket"
|
15
16
|
require "anycable/rpc"
|
data/sig/anycable/rpc.rbs
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: anycable-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- palkan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-04-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: anyway_config
|
@@ -170,6 +170,7 @@ files:
|
|
170
170
|
- lib/anycable/middleware.rb
|
171
171
|
- lib/anycable/middleware_chain.rb
|
172
172
|
- lib/anycable/middlewares/check_version.rb
|
173
|
+
- lib/anycable/middlewares/env_sid.rb
|
173
174
|
- lib/anycable/middlewares/exceptions.rb
|
174
175
|
- lib/anycable/protos/rpc_pb.rb
|
175
176
|
- lib/anycable/rpc.rb
|
@@ -197,6 +198,7 @@ files:
|
|
197
198
|
- sig/anycable/middleware.rbs
|
198
199
|
- sig/anycable/middleware_chain.rbs
|
199
200
|
- sig/anycable/middlewares/check_version.rbs
|
201
|
+
- sig/anycable/middlewares/env_sid.rbs
|
200
202
|
- sig/anycable/middlewares/exceptions.rbs
|
201
203
|
- sig/anycable/rpc.rbs
|
202
204
|
- sig/anycable/rpc/handler.rbs
|
@@ -230,7 +232,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
230
232
|
- !ruby/object:Gem::Version
|
231
233
|
version: '0'
|
232
234
|
requirements: []
|
233
|
-
rubygems_version: 3.
|
235
|
+
rubygems_version: 3.3.7
|
234
236
|
signing_key:
|
235
237
|
specification_version: 4
|
236
238
|
summary: AnyCable core RPC implementation
|