Skip to content

Commit

Permalink
Merge pull request #1394 from kamilkarp/fix/response-extensions
Browse files Browse the repository at this point in the history
fix(graphql): add missing response extensions
  • Loading branch information
vincenzopalazzo authored Mar 31, 2024
2 parents ab3258c + 779423d commit 103792f
Showing 1 changed file with 20 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,19 @@ abstract class GraphQLSocketMessage extends JsonSerializable {
return PongMessage(payload as Map<String, dynamic>);

case MessageTypes.data:
return SubscriptionData(id, payload['data'], payload['errors']);
return SubscriptionData(
id,
payload['data'],
payload['errors'],
payload['extensions'],
);
case MessageTypes.next:
return SubscriptionNext(id, payload['data'], payload['errors']);
return SubscriptionNext(
id,
payload['data'],
payload['errors'],
payload['extensions'],
);
case MessageTypes.error:
return SubscriptionError(id, payload);
case MessageTypes.complete:
Expand Down Expand Up @@ -240,17 +250,20 @@ class ConnectionKeepAlive extends GraphQLSocketMessage {
/// payload. The user should check the errors result before processing the
/// data value. These error are from the query resolvers.
class SubscriptionData extends GraphQLSocketMessage {
SubscriptionData(this.id, this.data, this.errors) : super(MessageTypes.data);
SubscriptionData(this.id, this.data, this.errors, this.extensions)
: super(MessageTypes.data);

final String id;
final dynamic data;
final dynamic errors;
final dynamic extensions;

@override
toJson() => {
"type": type,
"data": data,
"errors": errors,
"extensions": extensions,
};

@override
Expand All @@ -262,17 +275,20 @@ class SubscriptionData extends GraphQLSocketMessage {
}

class SubscriptionNext extends GraphQLSocketMessage {
SubscriptionNext(this.id, this.data, this.errors) : super(MessageTypes.next);
SubscriptionNext(this.id, this.data, this.errors, this.extensions)
: super(MessageTypes.next);

final String id;
final dynamic data;
final dynamic errors;
final dynamic extensions;

@override
toJson() => {
"type": type,
"data": data,
"errors": errors,
"extensions": extensions,
};

@override
Expand Down

0 comments on commit 103792f

Please sign in to comment.