UNPKG

@aws-amplify/pubsub

Version:

Pubsub category of aws-amplify

105 lines (102 loc) 4.24 kB
export { AMPLIFY_SYMBOL } from '@aws-amplify/core/internals/utils'; // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 const MAX_DELAY_MS = 5000; const NON_RETRYABLE_CODES = [400, 401, 403]; const CONNECTION_STATE_CHANGE = 'ConnectionStateChange'; var MESSAGE_TYPES; (function (MESSAGE_TYPES) { /** * Client -> Server message. * This message type is the first message after handshake and this will initialize AWS AppSync RealTime communication */ MESSAGE_TYPES["GQL_CONNECTION_INIT"] = "connection_init"; /** * Server -> Client message * This message type is in case there is an issue with AWS AppSync RealTime when establishing connection */ MESSAGE_TYPES["GQL_CONNECTION_ERROR"] = "connection_error"; /** * Server -> Client message. * This message type is for the ack response from AWS AppSync RealTime for GQL_CONNECTION_INIT message */ MESSAGE_TYPES["GQL_CONNECTION_ACK"] = "connection_ack"; /** * Client -> Server message. * This message type is for register subscriptions with AWS AppSync RealTime */ MESSAGE_TYPES["GQL_START"] = "start"; /** * Server -> Client message. * This message type is for the ack response from AWS AppSync RealTime for GQL_START message */ MESSAGE_TYPES["GQL_START_ACK"] = "start_ack"; /** * Server -> Client message. * This message type is for subscription message from AWS AppSync RealTime */ MESSAGE_TYPES["GQL_DATA"] = "data"; /** * Server -> Client message. * This message type helps the client to know is still receiving messages from AWS AppSync RealTime */ MESSAGE_TYPES["GQL_CONNECTION_KEEP_ALIVE"] = "ka"; /** * Client -> Server message. * This message type is for unregister subscriptions with AWS AppSync RealTime */ MESSAGE_TYPES["GQL_STOP"] = "stop"; /** * Server -> Client message. * This message type is for the ack response from AWS AppSync RealTime for GQL_STOP message */ MESSAGE_TYPES["GQL_COMPLETE"] = "complete"; /** * Server -> Client message. * This message type is for sending error messages from AWS AppSync RealTime to the client */ MESSAGE_TYPES["GQL_ERROR"] = "error"; })(MESSAGE_TYPES || (MESSAGE_TYPES = {})); var SUBSCRIPTION_STATUS; (function (SUBSCRIPTION_STATUS) { SUBSCRIPTION_STATUS[SUBSCRIPTION_STATUS["PENDING"] = 0] = "PENDING"; SUBSCRIPTION_STATUS[SUBSCRIPTION_STATUS["CONNECTED"] = 1] = "CONNECTED"; SUBSCRIPTION_STATUS[SUBSCRIPTION_STATUS["FAILED"] = 2] = "FAILED"; })(SUBSCRIPTION_STATUS || (SUBSCRIPTION_STATUS = {})); var SOCKET_STATUS; (function (SOCKET_STATUS) { SOCKET_STATUS[SOCKET_STATUS["CLOSED"] = 0] = "CLOSED"; SOCKET_STATUS[SOCKET_STATUS["READY"] = 1] = "READY"; SOCKET_STATUS[SOCKET_STATUS["CONNECTING"] = 2] = "CONNECTING"; })(SOCKET_STATUS || (SOCKET_STATUS = {})); const AWS_APPSYNC_REALTIME_HEADERS = { accept: 'application/json, text/javascript', 'content-encoding': 'amz-1.0', 'content-type': 'application/json; charset=UTF-8', }; /** * Time in milleseconds to wait for GQL_CONNECTION_INIT message */ const CONNECTION_INIT_TIMEOUT = 15000; /** * Time in milleseconds to wait for GQL_START_ACK message */ const START_ACK_TIMEOUT = 15000; /** * Default Time in milleseconds to wait for GQL_CONNECTION_KEEP_ALIVE message */ const DEFAULT_KEEP_ALIVE_TIMEOUT = 5 * 60 * 1000; /** * Default Time in milleseconds to alert for missed GQL_CONNECTION_KEEP_ALIVE message */ const DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT = 65 * 1000; /** * Default delay time in milleseconds between when reconnect is triggered vs when it is attempted */ const RECONNECT_DELAY = 5 * 1000; /** * Default interval time in milleseconds between when reconnect is re-attempted */ const RECONNECT_INTERVAL = 60 * 1000; export { AWS_APPSYNC_REALTIME_HEADERS, CONNECTION_INIT_TIMEOUT, CONNECTION_STATE_CHANGE, DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT, DEFAULT_KEEP_ALIVE_TIMEOUT, MAX_DELAY_MS, MESSAGE_TYPES, NON_RETRYABLE_CODES, RECONNECT_DELAY, RECONNECT_INTERVAL, SOCKET_STATUS, START_ACK_TIMEOUT, SUBSCRIPTION_STATUS }; //# sourceMappingURL=constants.mjs.map