@hocuspocus/extension-throttle 1.0.0-alpha.9 → 1.0.0-beta.2
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/dist/{hocuspocus-throttle.js → hocuspocus-throttle.cjs} +9 -18
- package/dist/hocuspocus-throttle.cjs.map +1 -0
- package/dist/hocuspocus-throttle.esm.js +8 -17
- package/dist/hocuspocus-throttle.esm.js.map +1 -1
- package/dist/packages/common/src/CloseEvents.d.ts +23 -0
- package/dist/packages/common/src/auth.d.ts +6 -0
- package/dist/packages/common/src/awarenessStatesToArray.d.ts +3 -0
- package/dist/packages/common/src/index.d.ts +4 -0
- package/dist/packages/common/src/types.d.ts +10 -0
- package/dist/packages/extension-database/src/Database.d.ts +30 -0
- package/dist/packages/extension-database/src/index.d.ts +1 -0
- package/dist/packages/extension-logger/src/Logger.d.ts +67 -0
- package/dist/packages/extension-logger/src/index.d.ts +1 -0
- package/dist/packages/{monitor → extension-monitor}/src/Collector.d.ts +4 -5
- package/dist/packages/{monitor → extension-monitor}/src/Dashboard.d.ts +2 -2
- package/dist/packages/{monitor → extension-monitor}/src/Storage.d.ts +0 -0
- package/dist/packages/{monitor → extension-monitor}/src/index.d.ts +3 -5
- package/dist/packages/extension-redis/src/Redis.d.ts +98 -0
- package/dist/packages/extension-redis/src/index.d.ts +1 -0
- package/dist/packages/extension-sqlite/src/SQLite.d.ts +26 -0
- package/dist/packages/extension-sqlite/src/index.d.ts +1 -0
- package/dist/packages/extension-throttle/src/index.d.ts +24 -0
- package/dist/packages/{webhook → extension-webhook}/src/index.d.ts +5 -11
- package/dist/packages/provider/src/EventEmitter.d.ts +9 -0
- package/dist/packages/provider/src/HocuspocusCloudProvider.d.ts +11 -0
- package/dist/packages/provider/src/HocuspocusProvider.d.ts +163 -0
- package/dist/packages/provider/src/IncomingMessage.d.ts +14 -0
- package/dist/packages/provider/src/MessageReceiver.d.ts +13 -0
- package/dist/packages/provider/src/MessageSender.d.ts +10 -0
- package/dist/packages/provider/src/OutgoingMessage.d.ts +9 -0
- package/dist/packages/provider/src/OutgoingMessages/AuthenticationMessage.d.ts +7 -0
- package/dist/packages/provider/src/OutgoingMessages/AwarenessMessage.d.ts +8 -0
- package/dist/packages/provider/src/OutgoingMessages/QueryAwarenessMessage.d.ts +8 -0
- package/dist/packages/provider/src/OutgoingMessages/SyncStepOneMessage.d.ts +8 -0
- package/dist/packages/provider/src/OutgoingMessages/SyncStepTwoMessage.d.ts +8 -0
- package/dist/packages/provider/src/OutgoingMessages/UpdateMessage.d.ts +7 -0
- package/dist/packages/provider/src/index.d.ts +3 -0
- package/dist/packages/provider/src/types.d.ts +77 -0
- package/dist/packages/server/src/Connection.d.ts +27 -7
- package/dist/packages/server/src/Debugger.d.ts +14 -0
- package/dist/packages/server/src/Document.d.ts +11 -5
- package/dist/packages/server/src/Hocuspocus.d.ts +63 -17
- package/dist/packages/server/src/IncomingMessage.d.ts +11 -7
- package/dist/packages/server/src/MessageReceiver.d.ts +13 -0
- package/dist/packages/server/src/OutgoingMessage.d.ts +6 -0
- package/dist/packages/server/src/index.d.ts +6 -0
- package/dist/packages/server/src/types.d.ts +181 -23
- package/dist/{demos/server/src/create-document.d.ts → playground/backend/src/default.d.ts} +0 -0
- package/dist/{demos/server → playground/backend}/src/express.d.ts +0 -0
- package/dist/{demos/server/src/minimal.d.ts → playground/backend/src/koa.d.ts} +0 -0
- package/dist/{demos/server/src/monitor.d.ts → playground/backend/src/load-document.d.ts} +0 -0
- package/dist/{demos/server/src/webhook.d.ts → playground/backend/src/monitor.d.ts} +0 -0
- package/dist/playground/backend/src/redis.d.ts +1 -0
- package/dist/playground/backend/src/slow.d.ts +1 -0
- package/dist/playground/backend/src/webhook.d.ts +1 -0
- package/dist/tests/extension-database/fetch.d.ts +1 -0
- package/dist/tests/extension-logger/onListen.d.ts +1 -0
- package/dist/tests/extension-redis/closeConnections.d.ts +1 -0
- package/dist/tests/extension-redis/getConnectionCount.d.ts +1 -0
- package/dist/tests/extension-redis/getDocumentsCount.d.ts +1 -0
- package/dist/tests/extension-redis/onAwarenessChange.d.ts +1 -0
- package/dist/tests/extension-redis/onChange.d.ts +1 -0
- package/dist/tests/extension-redis/onStoreDocument.d.ts +1 -0
- package/dist/tests/extension-throttle/configuration.d.ts +1 -0
- package/dist/tests/provider/configuration.d.ts +1 -0
- package/dist/tests/provider/observe.d.ts +1 -0
- package/dist/tests/provider/observeDeep.d.ts +1 -0
- package/dist/tests/provider/onAuthenticated.d.ts +1 -0
- package/dist/tests/provider/onAuthenticationFailed.d.ts +1 -0
- package/dist/tests/provider/onAwarenessChange.d.ts +1 -0
- package/dist/tests/provider/onAwarenessUpdate.d.ts +1 -0
- package/dist/tests/provider/onClose.d.ts +1 -0
- package/dist/tests/provider/onConnect.d.ts +1 -0
- package/dist/tests/provider/onDisconnect.d.ts +1 -0
- package/dist/tests/provider/onMessage.d.ts +1 -0
- package/dist/tests/provider/onOpen.d.ts +1 -0
- package/dist/tests/provider/onSynced.d.ts +1 -0
- package/dist/tests/server/address.d.ts +1 -0
- package/dist/tests/server/afterStoreDocument.d.ts +1 -0
- package/dist/tests/server/beforeHandleMessage.d.ts +1 -0
- package/dist/tests/server/closeConnections.d.ts +1 -0
- package/dist/tests/server/getConnectionsCount.d.ts +1 -0
- package/dist/tests/server/getDocumentName.d.ts +1 -0
- package/dist/tests/server/getDocumentsCount.d.ts +1 -0
- package/dist/tests/server/getMessageLogs.d.ts +1 -0
- package/dist/tests/server/listen.d.ts +1 -0
- package/dist/tests/server/onAuthenticate.d.ts +1 -0
- package/dist/tests/server/onAwarenessUpdate.d.ts +1 -0
- package/dist/tests/server/onChange.d.ts +1 -0
- package/dist/tests/server/onConfigure.d.ts +1 -0
- package/dist/tests/server/onConnect.d.ts +1 -0
- package/dist/tests/server/onDestroy.d.ts +1 -0
- package/dist/tests/server/onDisconnect.d.ts +1 -0
- package/dist/tests/server/onListen.d.ts +1 -0
- package/dist/tests/server/onLoadDocument.d.ts +1 -0
- package/dist/tests/server/onRequest.d.ts +1 -0
- package/dist/tests/server/onStoreDocument.d.ts +1 -0
- package/dist/tests/server/onUpgrade.d.ts +1 -0
- package/dist/tests/server/requiresAuthentication.d.ts +1 -0
- package/dist/tests/server/websocketError.d.ts +1 -0
- package/dist/tests/transformer/TiptapTransformer.d.ts +1 -0
- package/dist/tests/utils/createDirectory.d.ts +1 -0
- package/dist/tests/utils/flushRedis.d.ts +1 -0
- package/dist/tests/utils/index.d.ts +8 -0
- package/dist/tests/utils/newHocuspocus.d.ts +2 -0
- package/dist/tests/utils/newHocuspocusProvider.d.ts +3 -0
- package/dist/tests/utils/randomInteger.d.ts +1 -0
- package/dist/tests/utils/redisConnectionSettings.d.ts +4 -0
- package/dist/tests/utils/removeDirectory.d.ts +1 -0
- package/dist/tests/utils/retryableAssertion.d.ts +2 -0
- package/dist/tests/utils/sleep.d.ts +1 -0
- package/package.json +13 -8
- package/src/index.ts +12 -33
- package/CHANGELOG.md +0 -67
- package/dist/hocuspocus-throttle.js.map +0 -1
- package/dist/packages/logger/src/index.d.ts +0 -13
- package/dist/packages/redis/src/Redis.d.ts +0 -22
- package/dist/packages/redis/src/RedisCluster.d.ts +0 -4
- package/dist/packages/redis/src/index.d.ts +0 -2
- package/dist/packages/rocksdb/src/index.d.ts +0 -30
- package/dist/packages/throttle/src/index.d.ts +0 -28
package/CHANGELOG.md
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# Change Log
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
|
-
|
|
6
|
-
# [1.0.0-alpha.9](https://github.com/ueberdosis/hocuspocus/compare/@hocuspocus/extension-throttle@1.0.0-alpha.8...@hocuspocus/extension-throttle@1.0.0-alpha.9) (2021-04-20)
|
|
7
|
-
|
|
8
|
-
**Note:** Version bump only for package @hocuspocus/extension-throttle
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
# [1.0.0-alpha.8](https://github.com/ueberdosis/hocuspocus/compare/@hocuspocus/extension-throttle@1.0.0-alpha.7...@hocuspocus/extension-throttle@1.0.0-alpha.8) (2021-04-20)
|
|
15
|
-
|
|
16
|
-
**Note:** Version bump only for package @hocuspocus/extension-throttle
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
# [1.0.0-alpha.7](https://github.com/ueberdosis/hocuspocus/compare/@hocuspocus/extension-throttle@1.0.0-alpha.6...@hocuspocus/extension-throttle@1.0.0-alpha.7) (2021-04-20)
|
|
23
|
-
|
|
24
|
-
**Note:** Version bump only for package @hocuspocus/extension-throttle
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
# [1.0.0-alpha.6](https://github.com/ueberdosis/hocuspocus/compare/@hocuspocus/extension-throttle@1.0.0-alpha.5...@hocuspocus/extension-throttle@1.0.0-alpha.6) (2021-04-20)
|
|
31
|
-
|
|
32
|
-
**Note:** Version bump only for package @hocuspocus/extension-throttle
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
# [1.0.0-alpha.5](https://github.com/ueberdosis/hocuspocus/compare/@hocuspocus/extension-throttle@1.0.0-alpha.4...@hocuspocus/extension-throttle@1.0.0-alpha.5) (2021-04-20)
|
|
39
|
-
|
|
40
|
-
**Note:** Version bump only for package @hocuspocus/extension-throttle
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
# [1.0.0-alpha.4](https://github.com/ueberdosis/hocuspocus/compare/@hocuspocus/extension-throttle@1.0.0-alpha.3...@hocuspocus/extension-throttle@1.0.0-alpha.4) (2021-04-15)
|
|
47
|
-
|
|
48
|
-
**Note:** Version bump only for package @hocuspocus/extension-throttle
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
# [1.0.0-alpha.3](https://github.com/ueberdosis/hocuspocus/compare/@hocuspocus/extension-throttle@1.0.0-alpha.2...@hocuspocus/extension-throttle@1.0.0-alpha.3) (2021-04-14)
|
|
55
|
-
|
|
56
|
-
**Note:** Version bump only for package @hocuspocus/extension-throttle
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
# 1.0.0-alpha.2 (2021-04-12)
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
### Features
|
|
66
|
-
|
|
67
|
-
* add throttle extension ([b65de2a](https://github.com/ueberdosis/hocuspocus/commit/b65de2aa127c79fcad433d5e7353face7ad82d26))
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hocuspocus-throttle.js","sources":["../src/index.ts"],"sourcesContent":["import {\n Extension,\n onChangePayload,\n onConfigurePayload,\n onConnectPayload,\n onCreateDocumentPayload,\n onDestroyPayload,\n onDisconnectPayload,\n onListenPayload,\n onRequestPayload,\n onUpgradePayload,\n} from '@hocuspocus/server'\n\nexport interface Configuration {\n throttle: number | null | false,\n banTime: number,\n}\n\nexport class Throttle implements Extension {\n\n configuration: Configuration = {\n throttle: 15,\n banTime: 5,\n }\n\n connectionsByIp: Map<string, Array<number>> = new Map()\n\n bannedIps: Map<string, number> = new Map()\n\n /**\n * Throttle requests\n * @private\n */\n private throttle(ip: string): Boolean {\n if (!this.configuration.throttle) {\n return false\n }\n\n const bannedAt = this.bannedIps.get(ip) || 0\n\n if (Date.now() < (bannedAt + (this.configuration.banTime * 60 * 1000))) {\n return true\n }\n\n this.bannedIps.delete(ip)\n\n // add this connection try to the list of previous connections\n const previousConnections = this.connectionsByIp.get(ip) || []\n previousConnections.push(Date.now())\n\n // calculate the previous connections in the last minute\n const previousConnectionsInTheLastMinute = previousConnections\n .filter(timestamp => timestamp + (60 * 1000) > Date.now())\n\n this.connectionsByIp.set(ip, previousConnectionsInTheLastMinute)\n\n if (previousConnectionsInTheLastMinute.length > this.configuration.throttle) {\n this.bannedIps.set(ip, Date.now())\n return true\n }\n\n return false\n }\n\n /**\n * onConnect hook\n * @param data\n */\n onConnect(data: onConnectPayload): Promise<any> {\n const { request } = data\n\n // get the remote ip address\n const ip = request.headers['x-real-ip']\n || request.headers['x-forwarded-for']\n || request.socket.remoteAddress\n || ''\n\n // throttle the connection\n return this.throttle(<string> ip) ? Promise.reject() : Promise.resolve()\n }\n\n // eslint-disable-next-line no-empty-function,@typescript-eslint/no-empty-function\n async onCreateDocument(data: onCreateDocumentPayload) {}\n\n // eslint-disable-next-line no-empty-function,@typescript-eslint/no-empty-function\n async onChange(data: onChangePayload) {}\n\n // eslint-disable-next-line no-empty-function,@typescript-eslint/no-empty-function\n async onDisconnect(data: onDisconnectPayload) {}\n\n // eslint-disable-next-line no-empty-function,@typescript-eslint/no-empty-function\n async onUpgrade(data: onUpgradePayload) {}\n\n // eslint-disable-next-line no-empty-function,@typescript-eslint/no-empty-function\n async onRequest(data: onRequestPayload) {}\n\n // eslint-disable-next-line no-empty-function,@typescript-eslint/no-empty-function\n async onListen(data: onListenPayload) {}\n\n // eslint-disable-next-line no-empty-function,@typescript-eslint/no-empty-function\n async onDestroy(data: onDestroyPayload) {}\n\n // eslint-disable-next-line no-empty-function,@typescript-eslint/no-empty-function\n async onConfigure(data: onConfigurePayload) {}\n}\n"],"names":[],"mappings":";;;;MAkBa,QAAQ;IAArB;QAEE,kBAAa,GAAkB;YAC7B,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,CAAC;SACX,CAAA;QAED,oBAAe,GAA+B,IAAI,GAAG,EAAE,CAAA;QAEvD,cAAS,GAAwB,IAAI,GAAG,EAAE,CAAA;KA6E3C;;;;;IAvES,QAAQ,CAAC,EAAU;QACzB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YAChC,OAAO,KAAK,CAAA;SACb;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;QAE5C,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE;YACtE,OAAO,IAAI,CAAA;SACZ;QAED,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;;QAGzB,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;QAC9D,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;;QAGpC,MAAM,kCAAkC,GAAG,mBAAmB;aAC3D,MAAM,CAAC,SAAS,IAAI,SAAS,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAE5D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,kCAAkC,CAAC,CAAA;QAEhE,IAAI,kCAAkC,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC3E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;YAClC,OAAO,IAAI,CAAA;SACZ;QAED,OAAO,KAAK,CAAA;KACb;;;;;IAMD,SAAS,CAAC,IAAsB;QAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;;QAGxB,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;eAClC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC;eAClC,OAAO,CAAC,MAAM,CAAC,aAAa;eAC5B,EAAE,CAAA;;QAGP,OAAO,IAAI,CAAC,QAAQ,CAAU,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;KACzE;;IAGD,MAAM,gBAAgB,CAAC,IAA6B,KAAI;;IAGxD,MAAM,QAAQ,CAAC,IAAqB,KAAI;;IAGxC,MAAM,YAAY,CAAC,IAAyB,KAAI;;IAGhD,MAAM,SAAS,CAAC,IAAsB,KAAI;;IAG1C,MAAM,SAAS,CAAC,IAAsB,KAAI;;IAG1C,MAAM,QAAQ,CAAC,IAAqB,KAAI;;IAGxC,MAAM,SAAS,CAAC,IAAsB,KAAI;;IAG1C,MAAM,WAAW,CAAC,IAAwB,KAAI;;;;;"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Extension, onChangePayload, onConfigurePayload, onConnectPayload, onCreateDocumentPayload, onDestroyPayload, onDisconnectPayload, onListenPayload, onRequestPayload, onUpgradePayload } from '@hocuspocus/server';
|
|
2
|
-
export declare class Logger implements Extension {
|
|
3
|
-
onCreateDocument(data: onCreateDocumentPayload): Promise<void>;
|
|
4
|
-
onChange(data: onChangePayload): Promise<void>;
|
|
5
|
-
onConnect(data: onConnectPayload): Promise<void>;
|
|
6
|
-
onDisconnect(data: onDisconnectPayload): Promise<void>;
|
|
7
|
-
onUpgrade(data: onUpgradePayload): Promise<void>;
|
|
8
|
-
onRequest(data: onRequestPayload): Promise<void>;
|
|
9
|
-
onListen(data: onListenPayload): Promise<void>;
|
|
10
|
-
onDestroy(data: onDestroyPayload): Promise<void>;
|
|
11
|
-
onConfigure(data: onConfigurePayload): Promise<void>;
|
|
12
|
-
private static log;
|
|
13
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { RedisPersistence } from 'y-redis';
|
|
2
|
-
import { Extension, onChangePayload, onConfigurePayload, onConnectPayload, onCreateDocumentPayload, onDestroyPayload, onDisconnectPayload, onListenPayload, onRequestPayload, onUpgradePayload } from '@hocuspocus/server';
|
|
3
|
-
export interface Configuration {
|
|
4
|
-
}
|
|
5
|
-
export declare class Redis implements Extension {
|
|
6
|
-
configuration: Configuration;
|
|
7
|
-
cluster: boolean;
|
|
8
|
-
persistence: RedisPersistence;
|
|
9
|
-
/**
|
|
10
|
-
* Constructor
|
|
11
|
-
*/
|
|
12
|
-
constructor(configuration?: Partial<Configuration>);
|
|
13
|
-
onCreateDocument(data: onCreateDocumentPayload): Promise<void>;
|
|
14
|
-
onConnect(data: onConnectPayload): Promise<void>;
|
|
15
|
-
onChange(data: onChangePayload): Promise<void>;
|
|
16
|
-
onDisconnect(data: onDisconnectPayload): Promise<void>;
|
|
17
|
-
onListen(data: onListenPayload): Promise<void>;
|
|
18
|
-
onDestroy(data: onDestroyPayload): Promise<void>;
|
|
19
|
-
onConfigure(data: onConfigurePayload): Promise<void>;
|
|
20
|
-
onRequest(data: onRequestPayload): Promise<void>;
|
|
21
|
-
onUpgrade(data: onUpgradePayload): Promise<void>;
|
|
22
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Extension, onChangePayload, onConfigurePayload, onConnectPayload, onCreateDocumentPayload, onDestroyPayload, onDisconnectPayload, onListenPayload, onRequestPayload, onUpgradePayload } from '@hocuspocus/server';
|
|
2
|
-
import { LeveldbPersistence } from 'y-leveldb';
|
|
3
|
-
export interface Configuration {
|
|
4
|
-
options: object | undefined;
|
|
5
|
-
path: string;
|
|
6
|
-
}
|
|
7
|
-
export declare class RocksDB implements Extension {
|
|
8
|
-
configuration: Configuration;
|
|
9
|
-
provider: LeveldbPersistence;
|
|
10
|
-
/**
|
|
11
|
-
* Constructor
|
|
12
|
-
*/
|
|
13
|
-
constructor(configuration?: Partial<Configuration>);
|
|
14
|
-
/**
|
|
15
|
-
* onCreateDocument hook
|
|
16
|
-
*/
|
|
17
|
-
onCreateDocument(data: onCreateDocumentPayload): Promise<any>;
|
|
18
|
-
/**
|
|
19
|
-
* store updates in y-leveldb persistence
|
|
20
|
-
*/
|
|
21
|
-
store(documentName: string, update: Uint8Array): Promise<any>;
|
|
22
|
-
onChange(data: onChangePayload): Promise<void>;
|
|
23
|
-
onConnect(data: onConnectPayload): Promise<void>;
|
|
24
|
-
onDisconnect(data: onDisconnectPayload): Promise<void>;
|
|
25
|
-
onListen(data: onListenPayload): Promise<void>;
|
|
26
|
-
onDestroy(data: onDestroyPayload): Promise<void>;
|
|
27
|
-
onConfigure(data: onConfigurePayload): Promise<void>;
|
|
28
|
-
onRequest(data: onRequestPayload): Promise<void>;
|
|
29
|
-
onUpgrade(data: onUpgradePayload): Promise<void>;
|
|
30
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { Extension, onChangePayload, onConfigurePayload, onConnectPayload, onCreateDocumentPayload, onDestroyPayload, onDisconnectPayload, onListenPayload, onRequestPayload, onUpgradePayload } from '@hocuspocus/server';
|
|
2
|
-
export interface Configuration {
|
|
3
|
-
throttle: number | null | false;
|
|
4
|
-
banTime: number;
|
|
5
|
-
}
|
|
6
|
-
export declare class Throttle implements Extension {
|
|
7
|
-
configuration: Configuration;
|
|
8
|
-
connectionsByIp: Map<string, Array<number>>;
|
|
9
|
-
bannedIps: Map<string, number>;
|
|
10
|
-
/**
|
|
11
|
-
* Throttle requests
|
|
12
|
-
* @private
|
|
13
|
-
*/
|
|
14
|
-
private throttle;
|
|
15
|
-
/**
|
|
16
|
-
* onConnect hook
|
|
17
|
-
* @param data
|
|
18
|
-
*/
|
|
19
|
-
onConnect(data: onConnectPayload): Promise<any>;
|
|
20
|
-
onCreateDocument(data: onCreateDocumentPayload): Promise<void>;
|
|
21
|
-
onChange(data: onChangePayload): Promise<void>;
|
|
22
|
-
onDisconnect(data: onDisconnectPayload): Promise<void>;
|
|
23
|
-
onUpgrade(data: onUpgradePayload): Promise<void>;
|
|
24
|
-
onRequest(data: onRequestPayload): Promise<void>;
|
|
25
|
-
onListen(data: onListenPayload): Promise<void>;
|
|
26
|
-
onDestroy(data: onDestroyPayload): Promise<void>;
|
|
27
|
-
onConfigure(data: onConfigurePayload): Promise<void>;
|
|
28
|
-
}
|