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