graphql 1.7.6 → 1.7.7
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/generators/graphql/function_generator.rb +1 -1
- data/lib/generators/graphql/loader_generator.rb +1 -1
- data/lib/generators/graphql/mutation_generator.rb +6 -1
- data/lib/generators/graphql/templates/function.erb +2 -2
- data/lib/generators/graphql/templates/loader.erb +2 -2
- data/lib/graphql/execution.rb +1 -0
- data/lib/graphql/execution/instrumentation.rb +82 -0
- data/lib/graphql/execution/multiplex.rb +11 -28
- data/lib/graphql/field.rb +5 -0
- data/lib/graphql/internal_representation/node.rb +1 -1
- data/lib/graphql/language.rb +1 -0
- data/lib/graphql/language/document_from_schema_definition.rb +185 -0
- data/lib/graphql/language/lexer.rb +3 -3
- data/lib/graphql/language/lexer.rl +2 -2
- data/lib/graphql/language/token.rb +9 -2
- data/lib/graphql/query.rb +4 -0
- data/lib/graphql/relay/relation_connection.rb +13 -18
- data/lib/graphql/schema.rb +6 -0
- data/lib/graphql/schema/build_from_definition.rb +2 -0
- data/lib/graphql/subscriptions/action_cable_subscriptions.rb +6 -4
- data/lib/graphql/tracing.rb +1 -0
- data/lib/graphql/tracing/data_dog_tracing.rb +45 -0
- data/lib/graphql/tracing/platform_tracing.rb +20 -7
- data/lib/graphql/version.rb +1 -1
- data/readme.md +1 -1
- data/spec/dummy/app/channels/graphql_channel.rb +22 -1
- data/spec/dummy/log/development.log +239 -0
- data/spec/dummy/log/test.log +204 -0
- data/spec/dummy/test/system/action_cable_subscription_test.rb +4 -0
- data/spec/dummy/tmp/screenshots/failures_test_it_handles_subscriptions.png +0 -0
- data/spec/generators/graphql/function_generator_spec.rb +26 -0
- data/spec/generators/graphql/loader_generator_spec.rb +24 -0
- data/spec/graphql/analysis/max_query_complexity_spec.rb +3 -3
- data/spec/graphql/analysis/max_query_depth_spec.rb +3 -3
- data/spec/graphql/boolean_type_spec.rb +3 -3
- data/spec/graphql/execution/execute_spec.rb +1 -1
- data/spec/graphql/execution/instrumentation_spec.rb +165 -0
- data/spec/graphql/execution/multiplex_spec.rb +1 -1
- data/spec/graphql/float_type_spec.rb +2 -2
- data/spec/graphql/id_type_spec.rb +1 -1
- data/spec/graphql/input_object_type_spec.rb +2 -2
- data/spec/graphql/int_type_spec.rb +2 -2
- data/spec/graphql/internal_representation/rewrite_spec.rb +2 -2
- data/spec/graphql/introspection/schema_type_spec.rb +1 -0
- data/spec/graphql/language/document_from_schema_definition_spec.rb +337 -0
- data/spec/graphql/language/lexer_spec.rb +12 -1
- data/spec/graphql/language/parser_spec.rb +1 -1
- data/spec/graphql/query/arguments_spec.rb +3 -3
- data/spec/graphql/query/variables_spec.rb +1 -1
- data/spec/graphql/query_spec.rb +4 -4
- data/spec/graphql/relay/base_connection_spec.rb +1 -1
- data/spec/graphql/relay/connection_resolve_spec.rb +1 -1
- data/spec/graphql/relay/connection_type_spec.rb +1 -1
- data/spec/graphql/relay/mutation_spec.rb +3 -3
- data/spec/graphql/relay/relation_connection_spec.rb +58 -0
- data/spec/graphql/schema/build_from_definition_spec.rb +14 -0
- data/spec/graphql/schema/validation_spec.rb +1 -1
- data/spec/graphql/schema/warden_spec.rb +11 -11
- data/spec/graphql/schema_spec.rb +8 -1
- data/spec/graphql/string_type_spec.rb +3 -3
- data/spec/graphql/subscriptions_spec.rb +1 -1
- data/spec/graphql/tracing/platform_tracing_spec.rb +59 -0
- data/spec/support/dummy/schema.rb +19 -0
- data/spec/support/star_wars/data.rb +1 -2
- metadata +9 -2
@@ -387,7 +387,7 @@ def self.run_lexer(query_string)
|
|
387
387
|
begin
|
388
388
|
te = p+1;
|
389
389
|
begin
|
390
|
-
emit_string(ts + 1, te
|
390
|
+
emit_string(ts + 1, te, meta)
|
391
391
|
end
|
392
392
|
|
393
393
|
end
|
@@ -791,7 +791,7 @@ def self.run_lexer(query_string)
|
|
791
791
|
begin
|
792
792
|
p = ((te))-1;
|
793
793
|
begin
|
794
|
-
emit_string(ts + 1, te
|
794
|
+
emit_string(ts + 1, te, meta)
|
795
795
|
end
|
796
796
|
|
797
797
|
end
|
@@ -1304,7 +1304,7 @@ PACK_DIRECTIVE = "c*"
|
|
1304
1304
|
UTF_8_ENCODING = "UTF-8"
|
1305
1305
|
|
1306
1306
|
def self.emit_string(ts, te, meta)
|
1307
|
-
value = meta[:data][ts...te].pack(PACK_DIRECTIVE).force_encoding(UTF_8_ENCODING)
|
1307
|
+
value = meta[:data][ts...te - 1].pack(PACK_DIRECTIVE).force_encoding(UTF_8_ENCODING)
|
1308
1308
|
if value !~ VALID_STRING
|
1309
1309
|
meta[:tokens] << token = GraphQL::Language::Token.new(
|
1310
1310
|
name: :BAD_UNICODE_ESCAPE,
|
@@ -75,7 +75,7 @@
|
|
75
75
|
RBRACKET => { emit(:RBRACKET, ts, te, meta) };
|
76
76
|
LBRACKET => { emit(:LBRACKET, ts, te, meta) };
|
77
77
|
COLON => { emit(:COLON, ts, te, meta) };
|
78
|
-
QUOTED_STRING => { emit_string(ts + 1, te
|
78
|
+
QUOTED_STRING => { emit_string(ts + 1, te, meta) };
|
79
79
|
VAR_SIGN => { emit(:VAR_SIGN, ts, te, meta) };
|
80
80
|
DIR_SIGN => { emit(:DIR_SIGN, ts, te, meta) };
|
81
81
|
ELLIPSIS => { emit(:ELLIPSIS, ts, te, meta) };
|
@@ -189,7 +189,7 @@ module GraphQL
|
|
189
189
|
UTF_8_ENCODING = "UTF-8"
|
190
190
|
|
191
191
|
def self.emit_string(ts, te, meta)
|
192
|
-
value = meta[:data][ts...te].pack(PACK_DIRECTIVE).force_encoding(UTF_8_ENCODING)
|
192
|
+
value = meta[:data][ts...te - 1].pack(PACK_DIRECTIVE).force_encoding(UTF_8_ENCODING)
|
193
193
|
if value !~ VALID_STRING
|
194
194
|
meta[:tokens] << token = GraphQL::Language::Token.new(
|
195
195
|
name: :BAD_UNICODE_ESCAPE,
|
@@ -5,7 +5,10 @@ module GraphQL
|
|
5
5
|
# Contains type, value and position data.
|
6
6
|
class Token
|
7
7
|
# @return [Symbol] The kind of token this is
|
8
|
-
attr_reader :name
|
8
|
+
attr_reader :name
|
9
|
+
# @return [String] The text of this token
|
10
|
+
attr_reader :value
|
11
|
+
attr_reader :prev_token, :line, :col
|
9
12
|
|
10
13
|
def initialize(value:, name:, line:, col:, prev_token:)
|
11
14
|
@name = name
|
@@ -15,13 +18,17 @@ module GraphQL
|
|
15
18
|
@prev_token = prev_token
|
16
19
|
end
|
17
20
|
|
18
|
-
|
21
|
+
alias to_s value
|
19
22
|
def to_i; @value.to_i; end
|
20
23
|
def to_f; @value.to_f; end
|
21
24
|
|
22
25
|
def line_and_column
|
23
26
|
[@line, @col]
|
24
27
|
end
|
28
|
+
|
29
|
+
def inspect
|
30
|
+
"(#{@name} #{@value.inspect} [#{@line}:#{@col}])"
|
31
|
+
end
|
25
32
|
end
|
26
33
|
end
|
27
34
|
end
|
data/lib/graphql/query.rb
CHANGED
@@ -7,11 +7,11 @@ module GraphQL
|
|
7
7
|
# - `Sequel::Dataset`
|
8
8
|
class RelationConnection < BaseConnection
|
9
9
|
def cursor_from_node(item)
|
10
|
-
item_index =
|
10
|
+
item_index = paged_nodes.index(item)
|
11
11
|
if item_index.nil?
|
12
12
|
raise("Can't generate cursor, item not found in connection: #{item}")
|
13
13
|
else
|
14
|
-
offset = item_index + 1 + ((
|
14
|
+
offset = item_index + 1 + ((paged_nodes_offset || 0) - (relation_offset(sliced_nodes) || 0))
|
15
15
|
|
16
16
|
if after
|
17
17
|
offset += offset_from_cursor(after)
|
@@ -25,7 +25,7 @@ module GraphQL
|
|
25
25
|
|
26
26
|
def has_next_page
|
27
27
|
if first
|
28
|
-
|
28
|
+
paged_nodes.length >= first && sliced_nodes_count > first
|
29
29
|
elsif GraphQL::Relay::ConnectionType.bidirectional_pagination && last
|
30
30
|
sliced_nodes_count > last
|
31
31
|
else
|
@@ -35,7 +35,7 @@ module GraphQL
|
|
35
35
|
|
36
36
|
def has_previous_page
|
37
37
|
if last
|
38
|
-
|
38
|
+
paged_nodes.length >= last && sliced_nodes_count > last
|
39
39
|
elsif GraphQL::Relay::ConnectionType.bidirectional_pagination && after
|
40
40
|
# We've already paginated through the collection a bit,
|
41
41
|
# there are nodes behind us
|
@@ -64,6 +64,7 @@ module GraphQL
|
|
64
64
|
private
|
65
65
|
|
66
66
|
# apply first / last limit results
|
67
|
+
# @return [Array]
|
67
68
|
def paged_nodes
|
68
69
|
return @paged_nodes if defined? @paged_nodes
|
69
70
|
|
@@ -94,7 +95,14 @@ module GraphQL
|
|
94
95
|
end
|
95
96
|
end
|
96
97
|
|
97
|
-
|
98
|
+
# Store this here so we can convert the relation to an Array
|
99
|
+
# (this avoids an extra DB call on Sequel)
|
100
|
+
@paged_nodes_offset = relation_offset(items)
|
101
|
+
@paged_nodes = items.to_a
|
102
|
+
end
|
103
|
+
|
104
|
+
def paged_nodes_offset
|
105
|
+
paged_nodes && @paged_nodes_offset
|
98
106
|
end
|
99
107
|
|
100
108
|
def relation_offset(relation)
|
@@ -166,19 +174,6 @@ module GraphQL
|
|
166
174
|
def offset_from_cursor(cursor)
|
167
175
|
decode(cursor).to_i
|
168
176
|
end
|
169
|
-
|
170
|
-
def paged_nodes_array
|
171
|
-
return @paged_nodes_array if defined?(@paged_nodes_array)
|
172
|
-
@paged_nodes_array = paged_nodes.to_a
|
173
|
-
end
|
174
|
-
|
175
|
-
def paged_nodes_length
|
176
|
-
if paged_nodes.respond_to?(:length)
|
177
|
-
paged_nodes.length
|
178
|
-
else
|
179
|
-
paged_nodes_array.length
|
180
|
-
end
|
181
|
-
end
|
182
177
|
end
|
183
178
|
|
184
179
|
if defined?(ActiveRecord::Relation)
|
data/lib/graphql/schema.rb
CHANGED
@@ -542,6 +542,12 @@ module GraphQL
|
|
542
542
|
GraphQL::Schema::Printer.print_schema(self, only: only, except: except, context: context)
|
543
543
|
end
|
544
544
|
|
545
|
+
# Return the GraphQL::Language::Document IDL AST for the schema
|
546
|
+
# @return [GraphQL::Language::Document]
|
547
|
+
def to_document
|
548
|
+
GraphQL::Language::DocumentFromSchemaDefinition.new(self).document
|
549
|
+
end
|
550
|
+
|
545
551
|
# Return the Hash response of {Introspection::INTROSPECTION_QUERY}.
|
546
552
|
# @param context [Hash]
|
547
553
|
# @param only [<#call(member, ctx)>]
|
@@ -62,19 +62,21 @@ module GraphQL
|
|
62
62
|
class ActionCableSubscriptions < GraphQL::Subscriptions
|
63
63
|
SUBSCRIPTION_PREFIX = "graphql-subscription:"
|
64
64
|
EVENT_PREFIX = "graphql-event:"
|
65
|
-
|
65
|
+
|
66
|
+
# @param serializer [<#dump(obj), #load(string)] Used for serializing messages before handing them to `.broadcast(msg)`
|
67
|
+
def initialize(serializer: Serialize, **rest)
|
66
68
|
# A per-process map of subscriptions to deliver.
|
67
69
|
# This is provided by Rails, so let's use it
|
68
70
|
@subscriptions = Concurrent::Map.new
|
71
|
+
@serializer = serializer
|
69
72
|
super
|
70
73
|
end
|
71
74
|
|
72
75
|
# An event was triggered; Push the data over ActionCable.
|
73
76
|
# Subscribers will re-evaluate locally.
|
74
|
-
# TODO: this method name is a smell
|
75
77
|
def execute_all(event, object)
|
76
78
|
stream = EVENT_PREFIX + event.topic
|
77
|
-
message =
|
79
|
+
message = @serializer.dump(object)
|
78
80
|
ActionCable.server.broadcast(stream, message)
|
79
81
|
end
|
80
82
|
|
@@ -97,7 +99,7 @@ module GraphQL
|
|
97
99
|
@subscriptions[subscription_id] = query
|
98
100
|
events.each do |event|
|
99
101
|
channel.stream_from(EVENT_PREFIX + event.topic, coder: ActiveSupport::JSON) do |message|
|
100
|
-
execute(subscription_id, event,
|
102
|
+
execute(subscription_id, event, @serializer.load(message))
|
101
103
|
nil
|
102
104
|
end
|
103
105
|
end
|
data/lib/graphql/tracing.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
require "graphql/tracing/active_support_notifications_tracing"
|
3
3
|
require "graphql/tracing/platform_tracing"
|
4
4
|
require "graphql/tracing/appsignal_tracing"
|
5
|
+
require "graphql/tracing/data_dog_tracing"
|
5
6
|
require "graphql/tracing/new_relic_tracing"
|
6
7
|
require "graphql/tracing/scout_tracing"
|
7
8
|
require "graphql/tracing/skylight_tracing"
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module GraphQL
|
4
|
+
module Tracing
|
5
|
+
class DataDogTracing < PlatformTracing
|
6
|
+
self.platform_keys = {
|
7
|
+
'lex' => 'lex.graphql',
|
8
|
+
'parse' => 'parse.graphql',
|
9
|
+
'validate' => 'validate.graphql',
|
10
|
+
'analyze_query' => 'analyze.graphql',
|
11
|
+
'analyze_multiplex' => 'analyze.graphql',
|
12
|
+
'execute_multiplex' => 'execute.graphql',
|
13
|
+
'execute_query' => 'execute.graphql',
|
14
|
+
'execute_query_lazy' => 'execute.graphql',
|
15
|
+
}
|
16
|
+
|
17
|
+
def platform_trace(platform_key, key, data)
|
18
|
+
service = options.fetch(:service, 'ruby-graphql')
|
19
|
+
|
20
|
+
pin = Datadog::Pin.get_from(self)
|
21
|
+
unless pin
|
22
|
+
pin = Datadog::Pin.new(service)
|
23
|
+
pin.onto(self)
|
24
|
+
end
|
25
|
+
|
26
|
+
pin.tracer.trace(platform_key, service: pin.service) do |span|
|
27
|
+
if key == 'execute_multiplex'
|
28
|
+
span.resource = data[:multiplex].queries.map(&:selected_operation_name).join(', ')
|
29
|
+
end
|
30
|
+
|
31
|
+
if key == 'execute_query'
|
32
|
+
span.set_tag(:selected_operation_name, data[:query].selected_operation_name)
|
33
|
+
span.set_tag(:selected_operation_type, data[:query].selected_operation.operation_type)
|
34
|
+
span.set_tag(:query_string, data[:query].query_string)
|
35
|
+
end
|
36
|
+
yield
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def platform_field_key(type, field)
|
41
|
+
"#{type.name}.#{field.name}"
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -12,8 +12,10 @@ module GraphQL
|
|
12
12
|
attr_accessor :platform_keys
|
13
13
|
end
|
14
14
|
|
15
|
-
def initialize
|
15
|
+
def initialize(options = {})
|
16
|
+
@options = options
|
16
17
|
@platform_keys = self.class.platform_keys
|
18
|
+
@trace_scalars = options.fetch(:trace_scalars, false)
|
17
19
|
end
|
18
20
|
|
19
21
|
def trace(key, data)
|
@@ -41,19 +43,30 @@ module GraphQL
|
|
41
43
|
return_type = field.type.unwrap
|
42
44
|
case return_type
|
43
45
|
when GraphQL::ScalarType, GraphQL::EnumType
|
44
|
-
field
|
46
|
+
if field.trace || (field.trace.nil? && @trace_scalars)
|
47
|
+
trace_field(type, field)
|
48
|
+
else
|
49
|
+
field
|
50
|
+
end
|
45
51
|
else
|
46
|
-
|
47
|
-
new_f.metadata[:platform_key] = platform_field_key(type, field)
|
48
|
-
new_f
|
52
|
+
trace_field(type, field)
|
49
53
|
end
|
50
54
|
end
|
51
55
|
|
52
|
-
def
|
53
|
-
|
56
|
+
def trace_field(type, field)
|
57
|
+
new_f = field.redefine
|
58
|
+
new_f.metadata[:platform_key] = platform_field_key(type, field)
|
59
|
+
new_f
|
60
|
+
end
|
61
|
+
|
62
|
+
def self.use(schema_defn, options = {})
|
63
|
+
tracer = self.new(options)
|
54
64
|
schema_defn.instrument(:field, tracer)
|
55
65
|
schema_defn.tracer(tracer)
|
56
66
|
end
|
67
|
+
|
68
|
+
private
|
69
|
+
attr_reader :options
|
57
70
|
end
|
58
71
|
end
|
59
72
|
end
|
data/lib/graphql/version.rb
CHANGED
data/readme.md
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
A Ruby implementation of [GraphQL](http://graphql.org/).
|
10
10
|
|
11
11
|
- [Website](https://rmosolgo.github.io/graphql-ruby)
|
12
|
-
- [API Documentation](http://www.rubydoc.info/
|
12
|
+
- [API Documentation](http://www.rubydoc.info/gems/graphql)
|
13
13
|
- [Newsletter](https://tinyletter.com/graphql-ruby)
|
14
14
|
|
15
15
|
## Installation
|
@@ -17,10 +17,31 @@ class GraphqlChannel < ActionCable::Channel::Base
|
|
17
17
|
field :value, types.Int
|
18
18
|
end
|
19
19
|
|
20
|
+
# Wacky behavior around the number 4
|
21
|
+
# so we can confirm it's used by the UI
|
22
|
+
module CustomSerializer
|
23
|
+
def self.load(value)
|
24
|
+
if value == "4x"
|
25
|
+
ExamplePayload.new(400)
|
26
|
+
else
|
27
|
+
GraphQL::Subscriptions::Serialize.load(value)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.dump(obj)
|
32
|
+
if obj.is_a?(ExamplePayload) && obj.value == 4
|
33
|
+
"4x"
|
34
|
+
else
|
35
|
+
GraphQL::Subscriptions::Serialize.dump(obj)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
20
40
|
GraphQLSchema = GraphQL::Schema.define do
|
21
41
|
query(QueryType)
|
22
42
|
subscription(SubscriptionType)
|
23
|
-
use GraphQL::Subscriptions::ActionCableSubscriptions
|
43
|
+
use GraphQL::Subscriptions::ActionCableSubscriptions,
|
44
|
+
serializer: CustomSerializer
|
24
45
|
end
|
25
46
|
|
26
47
|
def subscribed
|
@@ -358,3 +358,242 @@ GraphqlChannel#make_trigger({"id"=>"updates-2", "value"=>5})
|
|
358
358
|
[ActionCable] Broadcasting to graphql-event::payload:id:updates-2: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzU\"}"
|
359
359
|
[ActionCable] Broadcasting to graphql-subscription:c2334c1a-d146-4b1c-90d9-9cb1c7b4046d: {:result=>{"data"=>{"payload"=>{"value"=>5}}}, :more=>true}
|
360
360
|
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>5}}}, "more"=>true} (via streamed from graphql-subscription:c2334c1a-d146-4b1c-90d9-9cb1c7b4046d)
|
361
|
+
Started GET "/" for 127.0.0.1 at 2017-11-16 21:27:24 -0500
|
362
|
+
Processing by PagesController#show as HTML
|
363
|
+
Rendering pages/show.html within layouts/application
|
364
|
+
Rendered pages/show.html within layouts/application (0.8ms)
|
365
|
+
Completed 200 OK in 173ms (Views: 171.5ms)
|
366
|
+
|
367
|
+
|
368
|
+
Started GET "/assets/application-aca150c4b2db51d5326af18134f6281fbce7e823a372b0337cca65ff41b4a7ea.js" for 127.0.0.1 at 2017-11-16 21:27:24 -0500
|
369
|
+
Started GET "/cable" for 127.0.0.1 at 2017-11-16 21:27:24 -0500
|
370
|
+
Started GET "/cable/" [WebSocket] for 127.0.0.1 at 2017-11-16 21:27:24 -0500
|
371
|
+
Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
|
372
|
+
GraphqlChannel is transmitting the subscription confirmation
|
373
|
+
GraphqlChannel is transmitting the subscription confirmation
|
374
|
+
GraphqlChannel#execute({"query"=>"subscription($id: ID!) { payload(id: $id) { value } }", "variables"=>{"id"=>"updates-2"}})
|
375
|
+
GraphqlChannel transmitting {:result=>{"data"=>nil}, :more=>true}
|
376
|
+
GraphqlChannel is streaming from graphql-subscription:34ad7c3f-9311-4982-b873-312032bbcd76
|
377
|
+
GraphqlChannel#execute({"query"=>"subscription($id: ID!) { payload(id: $id) { value } }", "variables"=>{"id"=>"updates-1"}})
|
378
|
+
GraphqlChannel transmitting {:result=>{"data"=>nil}, :more=>true}
|
379
|
+
GraphqlChannel is streaming from graphql-event::payload:id:updates-2
|
380
|
+
GraphqlChannel is streaming from graphql-subscription:73055d69-7575-4caa-88b7-74e1a1070c0d
|
381
|
+
GraphqlChannel is streaming from graphql-event::payload:id:updates-1
|
382
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>1})
|
383
|
+
Could not execute command from ({"command"=>"message", "identifier"=>"{\"channel\":\"GraphqlChannel\",\"id\":\"15fc7cd712b\"}", "data"=>"{\"id\":\"updates-1\",\"value\":1,\"action\":\"make_trigger\"}"}) [NoMethodError - undefined method `dump_value' for GraphqlChannel::CustomSerializer:Module]: /Users/rmosolgo/code/graphql-ruby/lib/graphql/subscriptions/serialize.rb:21:in `dump' | /Users/rmosolgo/code/graphql-ruby/spec/dummy/app/channels/graphql_channel.rb:36:in `dump' | /Users/rmosolgo/code/graphql-ruby/lib/graphql/subscriptions/action_cable_subscriptions.rb:78:in `execute_all' | /Users/rmosolgo/code/graphql-ruby/lib/graphql/subscriptions.rb:52:in `trigger' | /Users/rmosolgo/code/graphql-ruby/spec/dummy/app/channels/graphql_channel.rb:83:in `make_trigger'
|
384
|
+
Started GET "/" for 127.0.0.1 at 2017-11-16 21:28:22 -0500
|
385
|
+
Processing by PagesController#show as HTML
|
386
|
+
Rendering pages/show.html within layouts/application
|
387
|
+
Rendered pages/show.html within layouts/application (0.6ms)
|
388
|
+
Completed 200 OK in 166ms (Views: 164.8ms)
|
389
|
+
|
390
|
+
|
391
|
+
Started GET "/cable" for 127.0.0.1 at 2017-11-16 21:28:23 -0500
|
392
|
+
Started GET "/cable/" [WebSocket] for 127.0.0.1 at 2017-11-16 21:28:23 -0500
|
393
|
+
Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
|
394
|
+
GraphqlChannel is transmitting the subscription confirmation
|
395
|
+
GraphqlChannel is transmitting the subscription confirmation
|
396
|
+
GraphqlChannel#execute({"query"=>"subscription($id: ID!) { payload(id: $id) { value } }", "variables"=>{"id"=>"updates-2"}})
|
397
|
+
GraphqlChannel transmitting {:result=>{"data"=>nil}, :more=>true}
|
398
|
+
GraphqlChannel#execute({"query"=>"subscription($id: ID!) { payload(id: $id) { value } }", "variables"=>{"id"=>"updates-1"}})
|
399
|
+
GraphqlChannel is streaming from graphql-subscription:dee02509-90a6-4ac1-8c1d-c765cb445ddd
|
400
|
+
GraphqlChannel transmitting {:result=>{"data"=>nil}, :more=>true}
|
401
|
+
GraphqlChannel is streaming from graphql-event::payload:id:updates-2
|
402
|
+
GraphqlChannel is streaming from graphql-subscription:0f50c340-d3cd-4ab7-8e6a-055d23083185
|
403
|
+
GraphqlChannel is streaming from graphql-event::payload:id:updates-1
|
404
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>1})
|
405
|
+
Could not execute command from ({"command"=>"message", "identifier"=>"{\"channel\":\"GraphqlChannel\",\"id\":\"15fc7cf7d8b\"}", "data"=>"{\"id\":\"updates-1\",\"value\":1,\"action\":\"make_trigger\"}"}) [NameError - undefined local variable or method `value' for GraphqlChannel::CustomSerializer:Module]: /Users/rmosolgo/code/graphql-ruby/spec/dummy/app/channels/graphql_channel.rb:35:in `dump' | /Users/rmosolgo/code/graphql-ruby/lib/graphql/subscriptions/action_cable_subscriptions.rb:78:in `execute_all' | /Users/rmosolgo/code/graphql-ruby/lib/graphql/subscriptions.rb:52:in `trigger' | /Users/rmosolgo/code/graphql-ruby/spec/dummy/app/channels/graphql_channel.rb:82:in `make_trigger' | /Users/rmosolgo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/actioncable-5.1.4/lib/action_cable/channel/base.rb:262:in `public_send'
|
406
|
+
Started GET "/" for 127.0.0.1 at 2017-11-16 21:28:40 -0500
|
407
|
+
Processing by PagesController#show as HTML
|
408
|
+
Rendering pages/show.html within layouts/application
|
409
|
+
Rendered pages/show.html within layouts/application (0.6ms)
|
410
|
+
Completed 200 OK in 11ms (Views: 8.8ms)
|
411
|
+
|
412
|
+
|
413
|
+
Started GET "/cable" for 127.0.0.1 at 2017-11-16 21:28:40 -0500
|
414
|
+
Started GET "/cable/" [WebSocket] for 127.0.0.1 at 2017-11-16 21:28:40 -0500
|
415
|
+
Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
|
416
|
+
GraphqlChannel is transmitting the subscription confirmation
|
417
|
+
GraphqlChannel is transmitting the subscription confirmation
|
418
|
+
GraphqlChannel#execute({"query"=>"subscription($id: ID!) { payload(id: $id) { value } }", "variables"=>{"id"=>"updates-2"}})
|
419
|
+
GraphqlChannel transmitting {:result=>{"data"=>nil}, :more=>true}
|
420
|
+
GraphqlChannel is streaming from graphql-subscription:528198ff-21c1-4051-a319-1feb9060f335
|
421
|
+
GraphqlChannel is streaming from graphql-event::payload:id:updates-2
|
422
|
+
GraphqlChannel#execute({"query"=>"subscription($id: ID!) { payload(id: $id) { value } }", "variables"=>{"id"=>"updates-1"}})
|
423
|
+
GraphqlChannel transmitting {:result=>{"data"=>nil}, :more=>true}
|
424
|
+
GraphqlChannel is streaming from graphql-event::payload:id:updates-1
|
425
|
+
GraphqlChannel is streaming from graphql-subscription:dba8445d-3284-4734-90f6-fdf8f0707a50
|
426
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>1})
|
427
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzE\"}"
|
428
|
+
[ActionCable] Broadcasting to graphql-subscription:dba8445d-3284-4734-90f6-fdf8f0707a50: {:result=>{"data"=>{"payload"=>{"value"=>1}}}, :more=>true}
|
429
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>1}}}, "more"=>true} (via streamed from graphql-subscription:dba8445d-3284-4734-90f6-fdf8f0707a50)
|
430
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>2})
|
431
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzI\"}"
|
432
|
+
[ActionCable] Broadcasting to graphql-subscription:dba8445d-3284-4734-90f6-fdf8f0707a50: {:result=>{"data"=>{"payload"=>{"value"=>2}}}, :more=>true}
|
433
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>2}}}, "more"=>true} (via streamed from graphql-subscription:dba8445d-3284-4734-90f6-fdf8f0707a50)
|
434
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>3})
|
435
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzM\"}"
|
436
|
+
[ActionCable] Broadcasting to graphql-subscription:dba8445d-3284-4734-90f6-fdf8f0707a50: {:result=>{"data"=>{"payload"=>{"value"=>3}}}, :more=>true}
|
437
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>3}}}, "more"=>true} (via streamed from graphql-subscription:dba8445d-3284-4734-90f6-fdf8f0707a50)
|
438
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>4})
|
439
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "4x"
|
440
|
+
[ActionCable] Broadcasting to graphql-subscription:dba8445d-3284-4734-90f6-fdf8f0707a50: {:result=>{"data"=>{"payload"=>{"value"=>4}}}, :more=>true}
|
441
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>4}}}, "more"=>true} (via streamed from graphql-subscription:dba8445d-3284-4734-90f6-fdf8f0707a50)
|
442
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>5})
|
443
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzU\"}"
|
444
|
+
[ActionCable] Broadcasting to graphql-subscription:dba8445d-3284-4734-90f6-fdf8f0707a50: {:result=>{"data"=>{"payload"=>{"value"=>5}}}, :more=>true}
|
445
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>5}}}, "more"=>true} (via streamed from graphql-subscription:dba8445d-3284-4734-90f6-fdf8f0707a50)
|
446
|
+
Started GET "/" for 127.0.0.1 at 2017-11-16 21:29:15 -0500
|
447
|
+
Processing by PagesController#show as HTML
|
448
|
+
Rendering pages/show.html within layouts/application
|
449
|
+
Rendered pages/show.html within layouts/application (0.8ms)
|
450
|
+
Completed 200 OK in 178ms (Views: 176.8ms)
|
451
|
+
|
452
|
+
|
453
|
+
Started GET "/cable" for 127.0.0.1 at 2017-11-16 21:29:15 -0500
|
454
|
+
Started GET "/cable/" [WebSocket] for 127.0.0.1 at 2017-11-16 21:29:15 -0500
|
455
|
+
Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
|
456
|
+
GraphqlChannel is transmitting the subscription confirmation
|
457
|
+
GraphqlChannel is transmitting the subscription confirmation
|
458
|
+
GraphqlChannel#execute({"query"=>"subscription($id: ID!) { payload(id: $id) { value } }", "variables"=>{"id"=>"updates-1"}})
|
459
|
+
GraphqlChannel transmitting {:result=>{"data"=>nil}, :more=>true}
|
460
|
+
GraphqlChannel#execute({"query"=>"subscription($id: ID!) { payload(id: $id) { value } }", "variables"=>{"id"=>"updates-2"}})
|
461
|
+
GraphqlChannel is streaming from graphql-event::payload:id:updates-1
|
462
|
+
GraphqlChannel transmitting {:result=>{"data"=>nil}, :more=>true}
|
463
|
+
GraphqlChannel is streaming from graphql-subscription:ac17fc47-fdf3-4951-813b-f4d04fdc7847
|
464
|
+
GraphqlChannel is streaming from graphql-event::payload:id:updates-2
|
465
|
+
GraphqlChannel is streaming from graphql-subscription:8642d019-1a8c-4eb9-ada2-7a5b1ccffeee
|
466
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>1})
|
467
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzE\"}"
|
468
|
+
[ActionCable] Broadcasting to graphql-subscription:ac17fc47-fdf3-4951-813b-f4d04fdc7847: {:result=>{"data"=>{"payload"=>{"value"=>1}}}, :more=>true}
|
469
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>1}}}, "more"=>true} (via streamed from graphql-subscription:ac17fc47-fdf3-4951-813b-f4d04fdc7847)
|
470
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>2})
|
471
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzI\"}"
|
472
|
+
[ActionCable] Broadcasting to graphql-subscription:ac17fc47-fdf3-4951-813b-f4d04fdc7847: {:result=>{"data"=>{"payload"=>{"value"=>2}}}, :more=>true}
|
473
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>2}}}, "more"=>true} (via streamed from graphql-subscription:ac17fc47-fdf3-4951-813b-f4d04fdc7847)
|
474
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>3})
|
475
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzM\"}"
|
476
|
+
[ActionCable] Broadcasting to graphql-subscription:ac17fc47-fdf3-4951-813b-f4d04fdc7847: {:result=>{"data"=>{"payload"=>{"value"=>3}}}, :more=>true}
|
477
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>3}}}, "more"=>true} (via streamed from graphql-subscription:ac17fc47-fdf3-4951-813b-f4d04fdc7847)
|
478
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>4})
|
479
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "4x"
|
480
|
+
[ActionCable] Broadcasting to graphql-subscription:ac17fc47-fdf3-4951-813b-f4d04fdc7847: {:result=>{"data"=>{"payload"=>{"value"=>4}}}, :more=>true}
|
481
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>4}}}, "more"=>true} (via streamed from graphql-subscription:ac17fc47-fdf3-4951-813b-f4d04fdc7847)
|
482
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>5})
|
483
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzU\"}"
|
484
|
+
[ActionCable] Broadcasting to graphql-subscription:ac17fc47-fdf3-4951-813b-f4d04fdc7847: {:result=>{"data"=>{"payload"=>{"value"=>5}}}, :more=>true}
|
485
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>5}}}, "more"=>true} (via streamed from graphql-subscription:ac17fc47-fdf3-4951-813b-f4d04fdc7847)
|
486
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>6})
|
487
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzY\"}"
|
488
|
+
[ActionCable] Broadcasting to graphql-subscription:ac17fc47-fdf3-4951-813b-f4d04fdc7847: {:result=>{"data"=>{"payload"=>{"value"=>6}}}, :more=>true}
|
489
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>6}}}, "more"=>true} (via streamed from graphql-subscription:ac17fc47-fdf3-4951-813b-f4d04fdc7847)
|
490
|
+
GraphqlChannel#make_trigger({"id"=>"updates-2", "value"=>1})
|
491
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-2: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzE\"}"
|
492
|
+
[ActionCable] Broadcasting to graphql-subscription:8642d019-1a8c-4eb9-ada2-7a5b1ccffeee: {:result=>{"data"=>{"payload"=>{"value"=>1}}}, :more=>true}
|
493
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>1}}}, "more"=>true} (via streamed from graphql-subscription:8642d019-1a8c-4eb9-ada2-7a5b1ccffeee)
|
494
|
+
GraphqlChannel#make_trigger({"id"=>"updates-2", "value"=>2})
|
495
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-2: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzI\"}"
|
496
|
+
[ActionCable] Broadcasting to graphql-subscription:8642d019-1a8c-4eb9-ada2-7a5b1ccffeee: {:result=>{"data"=>{"payload"=>{"value"=>2}}}, :more=>true}
|
497
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>2}}}, "more"=>true} (via streamed from graphql-subscription:8642d019-1a8c-4eb9-ada2-7a5b1ccffeee)
|
498
|
+
GraphqlChannel#make_trigger({"id"=>"updates-2", "value"=>3})
|
499
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-2: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzM\"}"
|
500
|
+
[ActionCable] Broadcasting to graphql-subscription:8642d019-1a8c-4eb9-ada2-7a5b1ccffeee: {:result=>{"data"=>{"payload"=>{"value"=>3}}}, :more=>true}
|
501
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>3}}}, "more"=>true} (via streamed from graphql-subscription:8642d019-1a8c-4eb9-ada2-7a5b1ccffeee)
|
502
|
+
GraphqlChannel#make_trigger({"id"=>"updates-2", "value"=>4})
|
503
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-2: "4x"
|
504
|
+
[ActionCable] Broadcasting to graphql-subscription:8642d019-1a8c-4eb9-ada2-7a5b1ccffeee: {:result=>{"data"=>{"payload"=>{"value"=>4}}}, :more=>true}
|
505
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>4}}}, "more"=>true} (via streamed from graphql-subscription:8642d019-1a8c-4eb9-ada2-7a5b1ccffeee)
|
506
|
+
Started GET "/" for 127.0.0.1 at 2017-11-16 21:30:10 -0500
|
507
|
+
Processing by PagesController#show as HTML
|
508
|
+
Rendering pages/show.html within layouts/application
|
509
|
+
Rendered pages/show.html within layouts/application (0.7ms)
|
510
|
+
Completed 200 OK in 12ms (Views: 10.1ms)
|
511
|
+
|
512
|
+
|
513
|
+
Started GET "/cable" for 127.0.0.1 at 2017-11-16 21:30:10 -0500
|
514
|
+
Started GET "/cable/" [WebSocket] for 127.0.0.1 at 2017-11-16 21:30:10 -0500
|
515
|
+
Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
|
516
|
+
GraphqlChannel is transmitting the subscription confirmation
|
517
|
+
GraphqlChannel is transmitting the subscription confirmation
|
518
|
+
GraphqlChannel#execute({"query"=>"subscription($id: ID!) { payload(id: $id) { value } }", "variables"=>{"id"=>"updates-2"}})
|
519
|
+
GraphqlChannel transmitting {:result=>{"data"=>nil}, :more=>true}
|
520
|
+
GraphqlChannel#execute({"query"=>"subscription($id: ID!) { payload(id: $id) { value } }", "variables"=>{"id"=>"updates-1"}})
|
521
|
+
GraphqlChannel transmitting {:result=>{"data"=>nil}, :more=>true}
|
522
|
+
GraphqlChannel is streaming from graphql-subscription:e33017bd-68e0-4443-81b9-cb2b750d345e
|
523
|
+
GraphqlChannel is streaming from graphql-event::payload:id:updates-2
|
524
|
+
GraphqlChannel is streaming from graphql-subscription:ff9f5a68-c71c-4b5c-8135-cb902840a584
|
525
|
+
GraphqlChannel is streaming from graphql-event::payload:id:updates-1
|
526
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>1})
|
527
|
+
dumping: #<GraphqlChannel::ExamplePayload:0x007fc09dee35f8>
|
528
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzE\"}"
|
529
|
+
Loading: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzE\"}"
|
530
|
+
[ActionCable] Broadcasting to graphql-subscription:ff9f5a68-c71c-4b5c-8135-cb902840a584: {:result=>{"data"=>{"payload"=>{"value"=>1}}}, :more=>true}
|
531
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>1}}}, "more"=>true} (via streamed from graphql-subscription:ff9f5a68-c71c-4b5c-8135-cb902840a584)
|
532
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>2})
|
533
|
+
dumping: #<GraphqlChannel::ExamplePayload:0x007fc09deb3330>
|
534
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzI\"}"
|
535
|
+
Loading: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzI\"}"
|
536
|
+
[ActionCable] Broadcasting to graphql-subscription:ff9f5a68-c71c-4b5c-8135-cb902840a584: {:result=>{"data"=>{"payload"=>{"value"=>2}}}, :more=>true}
|
537
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>2}}}, "more"=>true} (via streamed from graphql-subscription:ff9f5a68-c71c-4b5c-8135-cb902840a584)
|
538
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>3})
|
539
|
+
dumping: #<GraphqlChannel::ExamplePayload:0x007fc09de7b020>
|
540
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzM\"}"
|
541
|
+
Loading: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzM\"}"
|
542
|
+
[ActionCable] Broadcasting to graphql-subscription:ff9f5a68-c71c-4b5c-8135-cb902840a584: {:result=>{"data"=>{"payload"=>{"value"=>3}}}, :more=>true}
|
543
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>3}}}, "more"=>true} (via streamed from graphql-subscription:ff9f5a68-c71c-4b5c-8135-cb902840a584)
|
544
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>4})
|
545
|
+
dumping: #<GraphqlChannel::ExamplePayload:0x007fc09de41f78>
|
546
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "4x"
|
547
|
+
Loading: "4x"
|
548
|
+
[ActionCable] Broadcasting to graphql-subscription:ff9f5a68-c71c-4b5c-8135-cb902840a584: {:result=>{"data"=>{"payload"=>{"value"=>4}}}, :more=>true}
|
549
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>4}}}, "more"=>true} (via streamed from graphql-subscription:ff9f5a68-c71c-4b5c-8135-cb902840a584)
|
550
|
+
Started GET "/" for 127.0.0.1 at 2017-11-16 21:30:26 -0500
|
551
|
+
Processing by PagesController#show as HTML
|
552
|
+
Rendering pages/show.html within layouts/application
|
553
|
+
Rendered pages/show.html within layouts/application (0.3ms)
|
554
|
+
Completed 200 OK in 7ms (Views: 5.4ms)
|
555
|
+
|
556
|
+
|
557
|
+
Started GET "/cable" for 127.0.0.1 at 2017-11-16 21:30:27 -0500
|
558
|
+
Started GET "/cable/" [WebSocket] for 127.0.0.1 at 2017-11-16 21:30:27 -0500
|
559
|
+
Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)
|
560
|
+
GraphqlChannel is transmitting the subscription confirmation
|
561
|
+
GraphqlChannel is transmitting the subscription confirmation
|
562
|
+
GraphqlChannel#execute({"query"=>"subscription($id: ID!) { payload(id: $id) { value } }", "variables"=>{"id"=>"updates-2"}})
|
563
|
+
GraphqlChannel transmitting {:result=>{"data"=>nil}, :more=>true}
|
564
|
+
GraphqlChannel#execute({"query"=>"subscription($id: ID!) { payload(id: $id) { value } }", "variables"=>{"id"=>"updates-1"}})
|
565
|
+
GraphqlChannel is streaming from graphql-event::payload:id:updates-2
|
566
|
+
GraphqlChannel transmitting {:result=>{"data"=>nil}, :more=>true}
|
567
|
+
GraphqlChannel is streaming from graphql-subscription:ba2e384c-cbcf-4f9f-aa5e-8f666effd2a8
|
568
|
+
GraphqlChannel is streaming from graphql-subscription:18c8f852-04c7-4bb8-b6f7-ecc64a2a8ac9
|
569
|
+
GraphqlChannel is streaming from graphql-event::payload:id:updates-1
|
570
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>1})
|
571
|
+
dumping: #<GraphqlChannel::ExamplePayload:0x007fc09e9fc660>
|
572
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzE\"}"
|
573
|
+
Loading: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzE\"}"
|
574
|
+
[ActionCable] Broadcasting to graphql-subscription:18c8f852-04c7-4bb8-b6f7-ecc64a2a8ac9: {:result=>{"data"=>{"payload"=>{"value"=>1}}}, :more=>true}
|
575
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>1}}}, "more"=>true} (via streamed from graphql-subscription:18c8f852-04c7-4bb8-b6f7-ecc64a2a8ac9)
|
576
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>2})
|
577
|
+
dumping: #<GraphqlChannel::ExamplePayload:0x007fc09dced938>
|
578
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzI\"}"
|
579
|
+
Loading: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzI\"}"
|
580
|
+
[ActionCable] Broadcasting to graphql-subscription:18c8f852-04c7-4bb8-b6f7-ecc64a2a8ac9: {:result=>{"data"=>{"payload"=>{"value"=>2}}}, :more=>true}
|
581
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>2}}}, "more"=>true} (via streamed from graphql-subscription:18c8f852-04c7-4bb8-b6f7-ecc64a2a8ac9)
|
582
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>3})
|
583
|
+
dumping: #<GraphqlChannel::ExamplePayload:0x007fc09e8c41d0>
|
584
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzM\"}"
|
585
|
+
Loading: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzM\"}"
|
586
|
+
[ActionCable] Broadcasting to graphql-subscription:18c8f852-04c7-4bb8-b6f7-ecc64a2a8ac9: {:result=>{"data"=>{"payload"=>{"value"=>3}}}, :more=>true}
|
587
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>3}}}, "more"=>true} (via streamed from graphql-subscription:18c8f852-04c7-4bb8-b6f7-ecc64a2a8ac9)
|
588
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>4})
|
589
|
+
dumping: #<GraphqlChannel::ExamplePayload:0x007fc09d407ad0>
|
590
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "4x"
|
591
|
+
Loading: "4x"
|
592
|
+
[ActionCable] Broadcasting to graphql-subscription:18c8f852-04c7-4bb8-b6f7-ecc64a2a8ac9: {:result=>{"data"=>{"payload"=>{"value"=>400}}}, :more=>true}
|
593
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>400}}}, "more"=>true} (via streamed from graphql-subscription:18c8f852-04c7-4bb8-b6f7-ecc64a2a8ac9)
|
594
|
+
GraphqlChannel#make_trigger({"id"=>"updates-1", "value"=>5})
|
595
|
+
dumping: #<GraphqlChannel::ExamplePayload:0x007fc09dbbf250>
|
596
|
+
[ActionCable] Broadcasting to graphql-event::payload:id:updates-1: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzU\"}"
|
597
|
+
Loading: "{\"__gid__\":\"Z2lkOi8vZHVtbXkvR3JhcGhxbENoYW5uZWw6OkV4YW1wbGVQYXlsb2FkLzU\"}"
|
598
|
+
[ActionCable] Broadcasting to graphql-subscription:18c8f852-04c7-4bb8-b6f7-ecc64a2a8ac9: {:result=>{"data"=>{"payload"=>{"value"=>5}}}, :more=>true}
|
599
|
+
GraphqlChannel transmitting {"result"=>{"data"=>{"payload"=>{"value"=>5}}}, "more"=>true} (via streamed from graphql-subscription:18c8f852-04c7-4bb8-b6f7-ecc64a2a8ac9)
|