From 347208883715650bbf9d5e69731d9484b7b4d0d5 Mon Sep 17 00:00:00 2001 From: Tyler Pierce Date: Thu, 8 Jul 2021 15:09:18 -0700 Subject: [PATCH 1/3] Editable timeout --- .../src/realtime-subscription-handshake-link.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/aws-appsync-subscription-link/src/realtime-subscription-handshake-link.ts b/packages/aws-appsync-subscription-link/src/realtime-subscription-handshake-link.ts index e8a4348a..cdda0a41 100644 --- a/packages/aws-appsync-subscription-link/src/realtime-subscription-handshake-link.ts +++ b/packages/aws-appsync-subscription-link/src/realtime-subscription-handshake-link.ts @@ -66,11 +66,12 @@ export class AppSyncRealTimeSubscriptionHandshakeLink extends ApolloLink { private subscriptionObserverMap: Map = new Map(); private promiseArray: Array<{ res: Function; rej: Function }> = []; - constructor({ url: theUrl, region: theRegion, auth: theAuth }: UrlInfo) { + constructor({ url: theUrl, region: theRegion, auth: theAuth, keepAliveTimeout: keepAliveTimeout }: UrlInfo) { super(); this.url = theUrl; this.region = theRegion; this.auth = theAuth; + this.keepAliveTimeout = keepAliveTimeout; } request(operation: Operation) { From 94e694870af29f3bfecd86791ce62bd8a9513083 Mon Sep 17 00:00:00 2001 From: Tyler Pierce Date: Thu, 8 Jul 2021 16:16:41 -0700 Subject: [PATCH 2/3] Updated types --- packages/aws-appsync-subscription-link/src/types/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/aws-appsync-subscription-link/src/types/index.ts b/packages/aws-appsync-subscription-link/src/types/index.ts index 82d8a07e..20978726 100644 --- a/packages/aws-appsync-subscription-link/src/types/index.ts +++ b/packages/aws-appsync-subscription-link/src/types/index.ts @@ -81,6 +81,7 @@ export type UrlInfo = { url: string; auth: AuthOptions; region: string; + keepAliveTimeout: number; }; export type ObserverQuery = { From c2adfcc8b8b51eac71a3318291e05ca4d4b644b8 Mon Sep 17 00:00:00 2001 From: Tyler Pierce Date: Fri, 9 Jul 2021 12:24:56 -0700 Subject: [PATCH 3/3] Keep alive timeout adjustment --- .../src/realtime-subscription-handshake-link.ts | 4 ++-- packages/aws-appsync-subscription-link/src/types/index.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/aws-appsync-subscription-link/src/realtime-subscription-handshake-link.ts b/packages/aws-appsync-subscription-link/src/realtime-subscription-handshake-link.ts index cdda0a41..fde9b1cd 100644 --- a/packages/aws-appsync-subscription-link/src/realtime-subscription-handshake-link.ts +++ b/packages/aws-appsync-subscription-link/src/realtime-subscription-handshake-link.ts @@ -62,7 +62,7 @@ export class AppSyncRealTimeSubscriptionHandshakeLink extends ApolloLink { private awsRealTimeSocket: WebSocket; private socketStatus: SOCKET_STATUS = SOCKET_STATUS.CLOSED; private keepAliveTimeoutId; - private keepAliveTimeout = DEFAULT_KEEP_ALIVE_TIMEOUT; + private keepAliveTimeout; private subscriptionObserverMap: Map = new Map(); private promiseArray: Array<{ res: Function; rej: Function }> = []; @@ -71,7 +71,7 @@ export class AppSyncRealTimeSubscriptionHandshakeLink extends ApolloLink { this.url = theUrl; this.region = theRegion; this.auth = theAuth; - this.keepAliveTimeout = keepAliveTimeout; + this.keepAliveTimeout = keepAliveTimeout || DEFAULT_KEEP_ALIVE_TIMEOUT; } request(operation: Operation) { diff --git a/packages/aws-appsync-subscription-link/src/types/index.ts b/packages/aws-appsync-subscription-link/src/types/index.ts index 20978726..6f83bc72 100644 --- a/packages/aws-appsync-subscription-link/src/types/index.ts +++ b/packages/aws-appsync-subscription-link/src/types/index.ts @@ -81,7 +81,7 @@ export type UrlInfo = { url: string; auth: AuthOptions; region: string; - keepAliveTimeout: number; + keepAliveTimeout?: number; }; export type ObserverQuery = {