parse-server 6.0.0-alpha.2 → 6.0.0-alpha.21
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.
- package/README.md +45 -17
- package/lib/AccountLockout.js +11 -26
- package/lib/Adapters/AdapterLoader.js +8 -14
- package/lib/Adapters/Analytics/AnalyticsAdapter.js +2 -8
- package/lib/Adapters/Auth/AuthAdapter.js +7 -16
- package/lib/Adapters/Auth/OAuth1Client.js +32 -57
- package/lib/Adapters/Auth/apple.js +6 -22
- package/lib/Adapters/Auth/facebook.js +7 -37
- package/lib/Adapters/Auth/gcenter.js +8 -37
- package/lib/Adapters/Auth/github.js +7 -10
- package/lib/Adapters/Auth/google.js +11 -34
- package/lib/Adapters/Auth/gpgames.js +5 -8
- package/lib/Adapters/Auth/httpsRequest.js +1 -7
- package/lib/Adapters/Auth/index.js +20 -65
- package/lib/Adapters/Auth/instagram.js +5 -9
- package/lib/Adapters/Auth/janraincapture.js +8 -12
- package/lib/Adapters/Auth/janrainengage.js +7 -11
- package/lib/Adapters/Auth/keycloak.js +5 -19
- package/lib/Adapters/Auth/ldap.js +1 -15
- package/lib/Adapters/Auth/line.js +7 -10
- package/lib/Adapters/Auth/linkedin.js +7 -12
- package/lib/Adapters/Auth/meetup.js +7 -10
- package/lib/Adapters/Auth/microsoft.js +7 -10
- package/lib/Adapters/Auth/oauth2.js +6 -18
- package/lib/Adapters/Auth/phantauth.js +8 -10
- package/lib/Adapters/Auth/qq.js +7 -13
- package/lib/Adapters/Auth/spotify.js +7 -14
- package/lib/Adapters/Auth/twitter.js +5 -15
- package/lib/Adapters/Auth/vkontakte.js +9 -15
- package/lib/Adapters/Auth/wechat.js +7 -10
- package/lib/Adapters/Auth/weibo.js +7 -11
- package/lib/Adapters/Cache/CacheAdapter.js +4 -12
- package/lib/Adapters/Cache/InMemoryCache.js +5 -19
- package/lib/Adapters/Cache/InMemoryCacheAdapter.js +1 -11
- package/lib/Adapters/Cache/LRUCache.js +1 -11
- package/lib/Adapters/Cache/NullCacheAdapter.js +1 -8
- package/lib/Adapters/Cache/RedisCacheAdapter.js +46 -87
- package/lib/Adapters/Cache/SchemaCache.js +1 -6
- package/lib/Adapters/Email/MailAdapter.js +2 -7
- package/lib/Adapters/Files/FilesAdapter.js +7 -21
- package/lib/Adapters/Files/GridFSBucketAdapter.js +6 -44
- package/lib/Adapters/Files/GridStoreAdapter.js +1 -1
- package/lib/Adapters/Logger/LoggerAdapter.js +2 -11
- package/lib/Adapters/Logger/WinstonLogger.js +3 -30
- package/lib/Adapters/Logger/WinstonLoggerAdapter.js +5 -16
- package/lib/Adapters/MessageQueue/EventEmitterMQ.js +3 -20
- package/lib/Adapters/PubSub/EventEmitterPubSub.js +1 -16
- package/lib/Adapters/PubSub/PubSubAdapter.js +2 -9
- package/lib/Adapters/PubSub/RedisPubSub.js +13 -10
- package/lib/Adapters/Push/PushAdapter.js +2 -8
- package/lib/Adapters/Storage/Mongo/MongoCollection.js +12 -37
- package/lib/Adapters/Storage/Mongo/MongoSchemaCollection.js +26 -79
- package/lib/Adapters/Storage/Mongo/MongoStorageAdapter.js +78 -209
- package/lib/Adapters/Storage/Mongo/MongoTransform.js +82 -371
- package/lib/Adapters/Storage/Postgres/PostgresClient.js +1 -13
- package/lib/Adapters/Storage/Postgres/PostgresConfigParser.js +1 -20
- package/lib/Adapters/Storage/Postgres/PostgresStorageAdapter.js +119 -446
- package/lib/Adapters/Storage/Postgres/sql/index.js +4 -7
- package/lib/Adapters/Storage/StorageAdapter.js +1 -1
- package/lib/Adapters/WebSocketServer/WSAdapter.js +3 -12
- package/lib/Adapters/WebSocketServer/WSSAdapter.js +7 -12
- package/lib/Auth.js +54 -121
- package/lib/ClientSDK.js +3 -11
- package/lib/Config.js +69 -113
- package/lib/Controllers/AdaptableController.js +6 -18
- package/lib/Controllers/AnalyticsController.js +1 -9
- package/lib/Controllers/CacheController.js +3 -23
- package/lib/Controllers/DatabaseController.js +147 -345
- package/lib/Controllers/FilesController.js +5 -34
- package/lib/Controllers/HooksController.js +1 -51
- package/lib/Controllers/LiveQueryController.js +4 -23
- package/lib/Controllers/LoggerController.js +15 -54
- package/lib/Controllers/ParseGraphQLController.js +49 -104
- package/lib/Controllers/PushController.js +20 -59
- package/lib/Controllers/SchemaController.js +154 -344
- package/lib/Controllers/UserController.js +11 -72
- package/lib/Controllers/index.js +19 -68
- package/lib/Controllers/types.js +1 -1
- package/lib/Deprecator/Deprecations.js +1 -8
- package/lib/Deprecator/Deprecator.js +9 -18
- package/lib/GraphQL/ParseGraphQLSchema.js +16 -100
- package/lib/GraphQL/ParseGraphQLServer.js +2 -29
- package/lib/GraphQL/helpers/objectsMutations.js +2 -12
- package/lib/GraphQL/helpers/objectsQueries.js +18 -76
- package/lib/GraphQL/loaders/defaultGraphQLMutations.js +1 -9
- package/lib/GraphQL/loaders/defaultGraphQLQueries.js +1 -8
- package/lib/GraphQL/loaders/defaultGraphQLTypes.js +9 -115
- package/lib/GraphQL/loaders/defaultRelaySchema.js +6 -18
- package/lib/GraphQL/loaders/filesMutations.js +2 -19
- package/lib/GraphQL/loaders/functionsMutations.js +6 -17
- package/lib/GraphQL/loaders/parseClassMutations.js +6 -44
- package/lib/GraphQL/loaders/parseClassQueries.js +1 -26
- package/lib/GraphQL/loaders/parseClassTypes.js +10 -64
- package/lib/GraphQL/loaders/schemaDirectives.js +1 -17
- package/lib/GraphQL/loaders/schemaMutations.js +1 -20
- package/lib/GraphQL/loaders/schemaQueries.js +1 -14
- package/lib/GraphQL/loaders/schemaTypes.js +2 -6
- package/lib/GraphQL/loaders/usersMutations.js +6 -28
- package/lib/GraphQL/loaders/usersQueries.js +4 -26
- package/lib/GraphQL/parseGraphQLUtils.js +6 -19
- package/lib/GraphQL/transformers/className.js +1 -4
- package/lib/GraphQL/transformers/constraintType.js +1 -20
- package/lib/GraphQL/transformers/inputType.js +1 -20
- package/lib/GraphQL/transformers/mutation.js +6 -51
- package/lib/GraphQL/transformers/outputType.js +1 -20
- package/lib/GraphQL/transformers/query.js +6 -42
- package/lib/GraphQL/transformers/schemaFields.js +7 -34
- package/lib/KeyPromiseQueue.js +1 -12
- package/lib/LiveQuery/Client.js +1 -25
- package/lib/LiveQuery/Id.js +1 -7
- package/lib/LiveQuery/ParseCloudCodePublisher.js +13 -19
- package/lib/LiveQuery/ParseLiveQueryServer.js +92 -306
- package/lib/LiveQuery/ParsePubSub.js +1 -12
- package/lib/LiveQuery/ParseWebSocketServer.js +4 -26
- package/lib/LiveQuery/QueryTools.js +14 -116
- package/lib/LiveQuery/RequestSchema.js +1 -1
- package/lib/LiveQuery/SessionTokenCache.js +1 -17
- package/lib/LiveQuery/Subscription.js +4 -18
- package/lib/LiveQuery/equalObjects.js +2 -14
- package/lib/Options/Definitions.js +79 -10
- package/lib/Options/docs.js +23 -3
- package/lib/Options/index.js +4 -12
- package/lib/Options/parsers.js +1 -18
- package/lib/Page.js +1 -9
- package/lib/ParseMessageQueue.js +1 -10
- package/lib/ParseServer.js +144 -182
- package/lib/ParseServerRESTController.js +6 -33
- package/lib/PromiseRouter.js +16 -50
- package/lib/Push/PushQueue.js +3 -15
- package/lib/Push/PushWorker.js +7 -32
- package/lib/Push/utils.js +9 -38
- package/lib/RestQuery.js +105 -242
- package/lib/RestWrite.js +212 -377
- package/lib/Routers/AggregateRouter.js +14 -51
- package/lib/Routers/AnalyticsRouter.js +2 -8
- package/lib/Routers/AudiencesRouter.js +1 -15
- package/lib/Routers/ClassesRouter.js +3 -53
- package/lib/Routers/CloudCodeRouter.js +1 -19
- package/lib/Routers/FeaturesRouter.js +1 -10
- package/lib/Routers/FilesRouter.js +29 -76
- package/lib/Routers/FunctionsRouter.js +5 -28
- package/lib/Routers/GlobalConfigRouter.js +4 -18
- package/lib/Routers/GraphQLRouter.js +1 -14
- package/lib/Routers/HooksRouter.js +1 -29
- package/lib/Routers/IAPValidationRouter.js +6 -29
- package/lib/Routers/InstallationsRouter.js +2 -12
- package/lib/Routers/LogsRouter.js +4 -16
- package/lib/Routers/PagesRouter.js +69 -129
- package/lib/Routers/PublicAPIRouter.js +3 -62
- package/lib/Routers/PurgeRouter.js +1 -15
- package/lib/Routers/PushRouter.js +2 -18
- package/lib/Routers/RolesRouter.js +1 -7
- package/lib/Routers/SchemasRouter.js +4 -34
- package/lib/Routers/SecurityRouter.js +1 -12
- package/lib/Routers/SessionsRouter.js +3 -19
- package/lib/Routers/UsersRouter.js +58 -155
- package/lib/SchemaMigrations/DefinedSchemas.js +56 -115
- package/lib/SchemaMigrations/Migrations.js +2 -8
- package/lib/Security/Check.js +8 -16
- package/lib/Security/CheckGroup.js +4 -11
- package/lib/Security/CheckGroups/CheckGroupDatabase.js +8 -18
- package/lib/Security/CheckGroups/CheckGroupServerConfig.js +5 -15
- package/lib/Security/CheckGroups/CheckGroups.js +1 -4
- package/lib/Security/CheckRunner.js +22 -41
- package/lib/StatusHandler.js +12 -69
- package/lib/TestUtils.js +1 -6
- package/lib/Utils.js +27 -66
- package/lib/batch.js +17 -28
- package/lib/cache.js +1 -3
- package/lib/cli/definitions/parse-live-query-server.js +1 -3
- package/lib/cli/definitions/parse-server.js +1 -3
- package/lib/cli/parse-live-query-server.js +1 -6
- package/lib/cli/parse-server.js +11 -21
- package/lib/cli/utils/commander.js +13 -51
- package/lib/cli/utils/runner.js +1 -14
- package/lib/cloud-code/Parse.Cloud.js +71 -92
- package/lib/cryptoUtils.js +11 -19
- package/lib/defaults.js +2 -14
- package/lib/deprecated.js +1 -2
- package/lib/index.js +16 -34
- package/lib/logger.js +6 -13
- package/lib/middlewares.js +147 -151
- package/lib/password.js +6 -10
- package/lib/request.js +173 -2
- package/lib/requiredParameter.js +1 -3
- package/lib/rest.js +19 -41
- package/lib/triggers.js +54 -252
- package/lib/vendor/mongodbUrl.js +125 -305
- package/package.json +22 -19
- package/lib/cloud-code/HTTPResponse.js +0 -73
- package/lib/cloud-code/httpRequest.js +0 -192
|
@@ -4,46 +4,35 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ParsePubSub = void 0;
|
|
7
|
-
|
|
8
7
|
var _AdapterLoader = require("../Adapters/AdapterLoader");
|
|
9
|
-
|
|
10
8
|
var _EventEmitterPubSub = require("../Adapters/PubSub/EventEmitterPubSub");
|
|
11
|
-
|
|
12
9
|
var _RedisPubSub = require("../Adapters/PubSub/RedisPubSub");
|
|
13
|
-
|
|
14
10
|
const ParsePubSub = {};
|
|
15
11
|
exports.ParsePubSub = ParsePubSub;
|
|
16
|
-
|
|
17
12
|
function useRedis(config) {
|
|
18
13
|
const redisURL = config.redisURL;
|
|
19
14
|
return typeof redisURL !== 'undefined' && redisURL !== '';
|
|
20
15
|
}
|
|
21
|
-
|
|
22
16
|
ParsePubSub.createPublisher = function (config) {
|
|
23
17
|
if (useRedis(config)) {
|
|
24
18
|
return _RedisPubSub.RedisPubSub.createPublisher(config);
|
|
25
19
|
} else {
|
|
26
20
|
const adapter = (0, _AdapterLoader.loadAdapter)(config.pubSubAdapter, _EventEmitterPubSub.EventEmitterPubSub, config);
|
|
27
|
-
|
|
28
21
|
if (typeof adapter.createPublisher !== 'function') {
|
|
29
22
|
throw 'pubSubAdapter should have createPublisher()';
|
|
30
23
|
}
|
|
31
|
-
|
|
32
24
|
return adapter.createPublisher(config);
|
|
33
25
|
}
|
|
34
26
|
};
|
|
35
|
-
|
|
36
27
|
ParsePubSub.createSubscriber = function (config) {
|
|
37
28
|
if (useRedis(config)) {
|
|
38
29
|
return _RedisPubSub.RedisPubSub.createSubscriber(config);
|
|
39
30
|
} else {
|
|
40
31
|
const adapter = (0, _AdapterLoader.loadAdapter)(config.pubSubAdapter, _EventEmitterPubSub.EventEmitterPubSub, config);
|
|
41
|
-
|
|
42
32
|
if (typeof adapter.createSubscriber !== 'function') {
|
|
43
33
|
throw 'pubSubAdapter should have createSubscriber()';
|
|
44
34
|
}
|
|
45
|
-
|
|
46
35
|
return adapter.createSubscriber(config);
|
|
47
36
|
}
|
|
48
37
|
};
|
|
49
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQYXJzZVB1YlN1YiIsInVzZVJlZGlzIiwiY29uZmlnIiwicmVkaXNVUkwiLCJjcmVhdGVQdWJsaXNoZXIiLCJSZWRpc1B1YlN1YiIsImFkYXB0ZXIiLCJsb2FkQWRhcHRlciIsInB1YlN1YkFkYXB0ZXIiLCJFdmVudEVtaXR0ZXJQdWJTdWIiLCJjcmVhdGVTdWJzY3JpYmVyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL0xpdmVRdWVyeS9QYXJzZVB1YlN1Yi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsb2FkQWRhcHRlciB9IGZyb20gJy4uL0FkYXB0ZXJzL0FkYXB0ZXJMb2FkZXInO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyUHViU3ViIH0gZnJvbSAnLi4vQWRhcHRlcnMvUHViU3ViL0V2ZW50RW1pdHRlclB1YlN1Yic7XG5cbmltcG9ydCB7IFJlZGlzUHViU3ViIH0gZnJvbSAnLi4vQWRhcHRlcnMvUHViU3ViL1JlZGlzUHViU3ViJztcblxuY29uc3QgUGFyc2VQdWJTdWIgPSB7fTtcblxuZnVuY3Rpb24gdXNlUmVkaXMoY29uZmlnOiBhbnkpOiBib29sZWFuIHtcbiAgY29uc3QgcmVkaXNVUkwgPSBjb25maWcucmVkaXNVUkw7XG4gIHJldHVybiB0eXBlb2YgcmVkaXNVUkwgIT09ICd1bmRlZmluZWQnICYmIHJlZGlzVVJMICE9PSAnJztcbn1cblxuUGFyc2VQdWJTdWIuY3JlYXRlUHVibGlzaGVyID0gZnVuY3Rpb24gKGNvbmZpZzogYW55KTogYW55IHtcbiAgaWYgKHVzZVJlZGlzKGNvbmZpZykpIHtcbiAgICByZXR1cm4gUmVkaXNQdWJTdWIuY3JlYXRlUHVibGlzaGVyKGNvbmZpZyk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgYWRhcHRlciA9IGxvYWRBZGFwdGVyKGNvbmZpZy5wdWJTdWJBZGFwdGVyLCBFdmVudEVtaXR0ZXJQdWJTdWIsIGNvbmZpZyk7XG4gICAgaWYgKHR5cGVvZiBhZGFwdGVyLmNyZWF0ZVB1Ymxpc2hlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgJ3B1YlN1YkFkYXB0ZXIgc2hvdWxkIGhhdmUgY3JlYXRlUHVibGlzaGVyKCknO1xuICAgIH1cbiAgICByZXR1cm4gYWRhcHRlci5jcmVhdGVQdWJsaXNoZXIoY29uZmlnKTtcbiAgfVxufTtcblxuUGFyc2VQdWJTdWIuY3JlYXRlU3Vic2NyaWJlciA9IGZ1bmN0aW9uIChjb25maWc6IGFueSk6IHZvaWQge1xuICBpZiAodXNlUmVkaXMoY29uZmlnKSkge1xuICAgIHJldHVybiBSZWRpc1B1YlN1Yi5jcmVhdGVTdWJzY3JpYmVyKGNvbmZpZyk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgYWRhcHRlciA9IGxvYWRBZGFwdGVyKGNvbmZpZy5wdWJTdWJBZGFwdGVyLCBFdmVudEVtaXR0ZXJQdWJTdWIsIGNvbmZpZyk7XG4gICAgaWYgKHR5cGVvZiBhZGFwdGVyLmNyZWF0ZVN1YnNjcmliZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRocm93ICdwdWJTdWJBZGFwdGVyIHNob3VsZCBoYXZlIGNyZWF0ZVN1YnNjcmliZXIoKSc7XG4gICAgfVxuICAgIHJldHVybiBhZGFwdGVyLmNyZWF0ZVN1YnNjcmliZXIoY29uZmlnKTtcbiAgfVxufTtcblxuZXhwb3J0IHsgUGFyc2VQdWJTdWIgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUVBO0FBRUEsTUFBTUEsV0FBVyxHQUFHLENBQUMsQ0FBQztBQUFDO0FBRXZCLFNBQVNDLFFBQVEsQ0FBQ0MsTUFBVyxFQUFXO0VBQ3RDLE1BQU1DLFFBQVEsR0FBR0QsTUFBTSxDQUFDQyxRQUFRO0VBQ2hDLE9BQU8sT0FBT0EsUUFBUSxLQUFLLFdBQVcsSUFBSUEsUUFBUSxLQUFLLEVBQUU7QUFDM0Q7QUFFQUgsV0FBVyxDQUFDSSxlQUFlLEdBQUcsVUFBVUYsTUFBVyxFQUFPO0VBQ3hELElBQUlELFFBQVEsQ0FBQ0MsTUFBTSxDQUFDLEVBQUU7SUFDcEIsT0FBT0csd0JBQVcsQ0FBQ0QsZUFBZSxDQUFDRixNQUFNLENBQUM7RUFDNUMsQ0FBQyxNQUFNO0lBQ0wsTUFBTUksT0FBTyxHQUFHLElBQUFDLDBCQUFXLEVBQUNMLE1BQU0sQ0FBQ00sYUFBYSxFQUFFQyxzQ0FBa0IsRUFBRVAsTUFBTSxDQUFDO0lBQzdFLElBQUksT0FBT0ksT0FBTyxDQUFDRixlQUFlLEtBQUssVUFBVSxFQUFFO01BQ2pELE1BQU0sNkNBQTZDO0lBQ3JEO0lBQ0EsT0FBT0UsT0FBTyxDQUFDRixlQUFlLENBQUNGLE1BQU0sQ0FBQztFQUN4QztBQUNGLENBQUM7QUFFREYsV0FBVyxDQUFDVSxnQkFBZ0IsR0FBRyxVQUFVUixNQUFXLEVBQVE7RUFDMUQsSUFBSUQsUUFBUSxDQUFDQyxNQUFNLENBQUMsRUFBRTtJQUNwQixPQUFPRyx3QkFBVyxDQUFDSyxnQkFBZ0IsQ0FBQ1IsTUFBTSxDQUFDO0VBQzdDLENBQUMsTUFBTTtJQUNMLE1BQU1JLE9BQU8sR0FBRyxJQUFBQywwQkFBVyxFQUFDTCxNQUFNLENBQUNNLGFBQWEsRUFBRUMsc0NBQWtCLEVBQUVQLE1BQU0sQ0FBQztJQUM3RSxJQUFJLE9BQU9JLE9BQU8sQ0FBQ0ksZ0JBQWdCLEtBQUssVUFBVSxFQUFFO01BQ2xELE1BQU0sOENBQThDO0lBQ3REO0lBQ0EsT0FBT0osT0FBTyxDQUFDSSxnQkFBZ0IsQ0FBQ1IsTUFBTSxDQUFDO0VBQ3pDO0FBQ0YsQ0FBQyJ9
|
|
@@ -3,29 +3,20 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
|
|
6
|
+
exports.ParseWebSocketServer = exports.ParseWebSocket = void 0;
|
|
8
7
|
var _AdapterLoader = require("../Adapters/AdapterLoader");
|
|
9
|
-
|
|
10
8
|
var _WSAdapter = require("../Adapters/WebSocketServer/WSAdapter");
|
|
11
|
-
|
|
12
9
|
var _logger = _interopRequireDefault(require("../logger"));
|
|
13
|
-
|
|
14
10
|
var _events = _interopRequireDefault(require("events"));
|
|
15
|
-
|
|
16
11
|
var _util = require("util");
|
|
17
|
-
|
|
18
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
13
|
class ParseWebSocketServer {
|
|
21
14
|
constructor(server, onConnect, config) {
|
|
22
15
|
config.server = server;
|
|
23
16
|
const wss = (0, _AdapterLoader.loadAdapter)(config.wssAdapter, _WSAdapter.WSAdapter, config);
|
|
24
|
-
|
|
25
17
|
wss.onListen = () => {
|
|
26
18
|
_logger.default.info('Parse LiveQuery Server started running');
|
|
27
19
|
};
|
|
28
|
-
|
|
29
20
|
wss.onConnection = ws => {
|
|
30
21
|
ws.waitingForPong = false;
|
|
31
22
|
ws.on('pong', () => {
|
|
@@ -33,11 +24,10 @@ class ParseWebSocketServer {
|
|
|
33
24
|
});
|
|
34
25
|
ws.on('error', error => {
|
|
35
26
|
_logger.default.error(error.message);
|
|
36
|
-
|
|
37
27
|
_logger.default.error((0, _util.inspect)(ws, false));
|
|
38
28
|
});
|
|
39
|
-
onConnect(new ParseWebSocket(ws));
|
|
40
|
-
|
|
29
|
+
onConnect(new ParseWebSocket(ws));
|
|
30
|
+
// Send ping to client periodically
|
|
41
31
|
const pingIntervalId = setInterval(() => {
|
|
42
32
|
if (!ws.waitingForPong) {
|
|
43
33
|
ws.ping();
|
|
@@ -48,41 +38,29 @@ class ParseWebSocketServer {
|
|
|
48
38
|
}
|
|
49
39
|
}, config.websocketTimeout || 10 * 1000);
|
|
50
40
|
};
|
|
51
|
-
|
|
52
41
|
wss.onError = error => {
|
|
53
42
|
_logger.default.error(error);
|
|
54
43
|
};
|
|
55
|
-
|
|
56
44
|
wss.start();
|
|
57
45
|
this.server = wss;
|
|
58
46
|
}
|
|
59
|
-
|
|
60
47
|
close() {
|
|
61
48
|
if (this.server && this.server.close) {
|
|
62
49
|
this.server.close();
|
|
63
50
|
}
|
|
64
51
|
}
|
|
65
|
-
|
|
66
52
|
}
|
|
67
|
-
|
|
68
53
|
exports.ParseWebSocketServer = ParseWebSocketServer;
|
|
69
|
-
|
|
70
54
|
class ParseWebSocket extends _events.default.EventEmitter {
|
|
71
55
|
constructor(ws) {
|
|
72
56
|
super();
|
|
73
|
-
|
|
74
57
|
ws.onmessage = request => this.emit('message', request && request.data ? request.data : request);
|
|
75
|
-
|
|
76
58
|
ws.onclose = () => this.emit('disconnect');
|
|
77
|
-
|
|
78
59
|
this.ws = ws;
|
|
79
60
|
}
|
|
80
|
-
|
|
81
61
|
send(message) {
|
|
82
62
|
this.ws.send(message);
|
|
83
63
|
}
|
|
84
|
-
|
|
85
64
|
}
|
|
86
|
-
|
|
87
65
|
exports.ParseWebSocket = ParseWebSocket;
|
|
88
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQYXJzZVdlYlNvY2tldFNlcnZlciIsImNvbnN0cnVjdG9yIiwic2VydmVyIiwib25Db25uZWN0IiwiY29uZmlnIiwid3NzIiwibG9hZEFkYXB0ZXIiLCJ3c3NBZGFwdGVyIiwiV1NBZGFwdGVyIiwib25MaXN0ZW4iLCJsb2dnZXIiLCJpbmZvIiwib25Db25uZWN0aW9uIiwid3MiLCJ3YWl0aW5nRm9yUG9uZyIsIm9uIiwiZXJyb3IiLCJtZXNzYWdlIiwiaW5zcGVjdCIsIlBhcnNlV2ViU29ja2V0IiwicGluZ0ludGVydmFsSWQiLCJzZXRJbnRlcnZhbCIsInBpbmciLCJjbGVhckludGVydmFsIiwidGVybWluYXRlIiwid2Vic29ja2V0VGltZW91dCIsIm9uRXJyb3IiLCJzdGFydCIsImNsb3NlIiwiZXZlbnRzIiwiRXZlbnRFbWl0dGVyIiwib25tZXNzYWdlIiwicmVxdWVzdCIsImVtaXQiLCJkYXRhIiwib25jbG9zZSIsInNlbmQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvTGl2ZVF1ZXJ5L1BhcnNlV2ViU29ja2V0U2VydmVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxvYWRBZGFwdGVyIH0gZnJvbSAnLi4vQWRhcHRlcnMvQWRhcHRlckxvYWRlcic7XG5pbXBvcnQgeyBXU0FkYXB0ZXIgfSBmcm9tICcuLi9BZGFwdGVycy9XZWJTb2NrZXRTZXJ2ZXIvV1NBZGFwdGVyJztcbmltcG9ydCBsb2dnZXIgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCBldmVudHMgZnJvbSAnZXZlbnRzJztcbmltcG9ydCB7IGluc3BlY3QgfSBmcm9tICd1dGlsJztcblxuZXhwb3J0IGNsYXNzIFBhcnNlV2ViU29ja2V0U2VydmVyIHtcbiAgc2VydmVyOiBPYmplY3Q7XG5cbiAgY29uc3RydWN0b3Ioc2VydmVyOiBhbnksIG9uQ29ubmVjdDogRnVuY3Rpb24sIGNvbmZpZykge1xuICAgIGNvbmZpZy5zZXJ2ZXIgPSBzZXJ2ZXI7XG4gICAgY29uc3Qgd3NzID0gbG9hZEFkYXB0ZXIoY29uZmlnLndzc0FkYXB0ZXIsIFdTQWRhcHRlciwgY29uZmlnKTtcbiAgICB3c3Mub25MaXN0ZW4gPSAoKSA9PiB7XG4gICAgICBsb2dnZXIuaW5mbygnUGFyc2UgTGl2ZVF1ZXJ5IFNlcnZlciBzdGFydGVkIHJ1bm5pbmcnKTtcbiAgICB9O1xuICAgIHdzcy5vbkNvbm5lY3Rpb24gPSB3cyA9PiB7XG4gICAgICB3cy53YWl0aW5nRm9yUG9uZyA9IGZhbHNlO1xuICAgICAgd3Mub24oJ3BvbmcnLCAoKSA9PiB7XG4gICAgICAgIHdzLndhaXRpbmdGb3JQb25nID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICAgIHdzLm9uKCdlcnJvcicsIGVycm9yID0+IHtcbiAgICAgICAgbG9nZ2VyLmVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICBsb2dnZXIuZXJyb3IoaW5zcGVjdCh3cywgZmFsc2UpKTtcbiAgICAgIH0pO1xuICAgICAgb25Db25uZWN0KG5ldyBQYXJzZVdlYlNvY2tldCh3cykpO1xuICAgICAgLy8gU2VuZCBwaW5nIHRvIGNsaWVudCBwZXJpb2RpY2FsbHlcbiAgICAgIGNvbnN0IHBpbmdJbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICBpZiAoIXdzLndhaXRpbmdGb3JQb25nKSB7XG4gICAgICAgICAgd3MucGluZygpO1xuICAgICAgICAgIHdzLndhaXRpbmdGb3JQb25nID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjbGVhckludGVydmFsKHBpbmdJbnRlcnZhbElkKTtcbiAgICAgICAgICB3cy50ZXJtaW5hdGUoKTtcbiAgICAgICAgfVxuICAgICAgfSwgY29uZmlnLndlYnNvY2tldFRpbWVvdXQgfHwgMTAgKiAxMDAwKTtcbiAgICB9O1xuICAgIHdzcy5vbkVycm9yID0gZXJyb3IgPT4ge1xuICAgICAgbG9nZ2VyLmVycm9yKGVycm9yKTtcbiAgICB9O1xuICAgIHdzcy5zdGFydCgpO1xuICAgIHRoaXMuc2VydmVyID0gd3NzO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgaWYgKHRoaXMuc2VydmVyICYmIHRoaXMuc2VydmVyLmNsb3NlKSB7XG4gICAgICB0aGlzLnNlcnZlci5jbG9zZSgpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUGFyc2VXZWJTb2NrZXQgZXh0ZW5kcyBldmVudHMuRXZlbnRFbWl0dGVyIHtcbiAgd3M6IGFueTtcblxuICBjb25zdHJ1Y3Rvcih3czogYW55KSB7XG4gICAgc3VwZXIoKTtcbiAgICB3cy5vbm1lc3NhZ2UgPSByZXF1ZXN0ID0+XG4gICAgICB0aGlzLmVtaXQoJ21lc3NhZ2UnLCByZXF1ZXN0ICYmIHJlcXVlc3QuZGF0YSA/IHJlcXVlc3QuZGF0YSA6IHJlcXVlc3QpO1xuICAgIHdzLm9uY2xvc2UgPSAoKSA9PiB0aGlzLmVtaXQoJ2Rpc2Nvbm5lY3QnKTtcbiAgICB0aGlzLndzID0gd3M7XG4gIH1cblxuICBzZW5kKG1lc3NhZ2U6IGFueSk6IHZvaWQge1xuICAgIHRoaXMud3Muc2VuZChtZXNzYWdlKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQStCO0FBRXhCLE1BQU1BLG9CQUFvQixDQUFDO0VBR2hDQyxXQUFXLENBQUNDLE1BQVcsRUFBRUMsU0FBbUIsRUFBRUMsTUFBTSxFQUFFO0lBQ3BEQSxNQUFNLENBQUNGLE1BQU0sR0FBR0EsTUFBTTtJQUN0QixNQUFNRyxHQUFHLEdBQUcsSUFBQUMsMEJBQVcsRUFBQ0YsTUFBTSxDQUFDRyxVQUFVLEVBQUVDLG9CQUFTLEVBQUVKLE1BQU0sQ0FBQztJQUM3REMsR0FBRyxDQUFDSSxRQUFRLEdBQUcsTUFBTTtNQUNuQkMsZUFBTSxDQUFDQyxJQUFJLENBQUMsd0NBQXdDLENBQUM7SUFDdkQsQ0FBQztJQUNETixHQUFHLENBQUNPLFlBQVksR0FBR0MsRUFBRSxJQUFJO01BQ3ZCQSxFQUFFLENBQUNDLGNBQWMsR0FBRyxLQUFLO01BQ3pCRCxFQUFFLENBQUNFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTTtRQUNsQkYsRUFBRSxDQUFDQyxjQUFjLEdBQUcsS0FBSztNQUMzQixDQUFDLENBQUM7TUFDRkQsRUFBRSxDQUFDRSxFQUFFLENBQUMsT0FBTyxFQUFFQyxLQUFLLElBQUk7UUFDdEJOLGVBQU0sQ0FBQ00sS0FBSyxDQUFDQSxLQUFLLENBQUNDLE9BQU8sQ0FBQztRQUMzQlAsZUFBTSxDQUFDTSxLQUFLLENBQUMsSUFBQUUsYUFBTyxFQUFDTCxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7TUFDbEMsQ0FBQyxDQUFDO01BQ0ZWLFNBQVMsQ0FBQyxJQUFJZ0IsY0FBYyxDQUFDTixFQUFFLENBQUMsQ0FBQztNQUNqQztNQUNBLE1BQU1PLGNBQWMsR0FBR0MsV0FBVyxDQUFDLE1BQU07UUFDdkMsSUFBSSxDQUFDUixFQUFFLENBQUNDLGNBQWMsRUFBRTtVQUN0QkQsRUFBRSxDQUFDUyxJQUFJLEVBQUU7VUFDVFQsRUFBRSxDQUFDQyxjQUFjLEdBQUcsSUFBSTtRQUMxQixDQUFDLE1BQU07VUFDTFMsYUFBYSxDQUFDSCxjQUFjLENBQUM7VUFDN0JQLEVBQUUsQ0FBQ1csU0FBUyxFQUFFO1FBQ2hCO01BQ0YsQ0FBQyxFQUFFcEIsTUFBTSxDQUFDcUIsZ0JBQWdCLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQztJQUMxQyxDQUFDO0lBQ0RwQixHQUFHLENBQUNxQixPQUFPLEdBQUdWLEtBQUssSUFBSTtNQUNyQk4sZUFBTSxDQUFDTSxLQUFLLENBQUNBLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBQ0RYLEdBQUcsQ0FBQ3NCLEtBQUssRUFBRTtJQUNYLElBQUksQ0FBQ3pCLE1BQU0sR0FBR0csR0FBRztFQUNuQjtFQUVBdUIsS0FBSyxHQUFHO0lBQ04sSUFBSSxJQUFJLENBQUMxQixNQUFNLElBQUksSUFBSSxDQUFDQSxNQUFNLENBQUMwQixLQUFLLEVBQUU7TUFDcEMsSUFBSSxDQUFDMUIsTUFBTSxDQUFDMEIsS0FBSyxFQUFFO0lBQ3JCO0VBQ0Y7QUFDRjtBQUFDO0FBRU0sTUFBTVQsY0FBYyxTQUFTVSxlQUFNLENBQUNDLFlBQVksQ0FBQztFQUd0RDdCLFdBQVcsQ0FBQ1ksRUFBTyxFQUFFO0lBQ25CLEtBQUssRUFBRTtJQUNQQSxFQUFFLENBQUNrQixTQUFTLEdBQUdDLE9BQU8sSUFDcEIsSUFBSSxDQUFDQyxJQUFJLENBQUMsU0FBUyxFQUFFRCxPQUFPLElBQUlBLE9BQU8sQ0FBQ0UsSUFBSSxHQUFHRixPQUFPLENBQUNFLElBQUksR0FBR0YsT0FBTyxDQUFDO0lBQ3hFbkIsRUFBRSxDQUFDc0IsT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDRixJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzFDLElBQUksQ0FBQ3BCLEVBQUUsR0FBR0EsRUFBRTtFQUNkO0VBRUF1QixJQUFJLENBQUNuQixPQUFZLEVBQVE7SUFDdkIsSUFBSSxDQUFDSixFQUFFLENBQUN1QixJQUFJLENBQUNuQixPQUFPLENBQUM7RUFDdkI7QUFDRjtBQUFDIn0=
|