I'm trying to create appsync subscriptions on nodejs server, but I am unable to create a connection.
I am unable to create a connection, and it just oscillates between "Connecting" and "ConnectionDistorted"
Code:
Hub.listen("api", (data: any) => {
console.log("data is:", data);
const { payload } = data;
if (payload.event === CONNECTION_STATE_CHANGE) {
connectionState = payload.data.connectionState as ConnectionState;
console.log("Connection state updated to:", connectionState);
if (connectionState === "Connected") {
resolve();
}
}
});
subscription = client
.graphql<GraphQLSubscription<UserResult>>({
query: subscribeUser,
variables: { id: user2UserId },
})
.subscribe({
next: (value) => {
console.log("Subscription value received:", value);
},
error: (error) => {
console.error("Subscription error:", error);
},
});
Logs:
data is: {
channel: 'api',
payload: {
event: 'ConnectionStateChange',
data: {
provider: [AWSAppSyncRealTimeProvider],
connectionState: 'Connecting'
},
message: 'Connection state is Connecting'
},
source: 'PubSub',
patternInfo: []
}
console.log
Connection state updated to: Connecting
console.log
data is: {
channel: 'api',
payload: {
event: 'ConnectionStateChange',
data: {
provider: [AWSAppSyncRealTimeProvider],
connectionState: 'ConnectionDisrupted'
},
message: 'Connection state is ConnectionDisrupted'
},
source: 'PubSub',
patternInfo: []
}
console.log
Connection state updated to: ConnectionDisrupted