@n1k1t/mock-server 0.2.3 → 1.0.0
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 +583 -1013
- package/README.old.md +1255 -0
- package/lib/package.json +17 -7
- package/lib/src/client/helpers/expectations.d.ts +18 -86
- package/lib/src/client/helpers/expectations.d.ts.map +1 -1
- package/lib/src/client/helpers/expectations.js.map +1 -1
- package/lib/src/client/methods/expectations-group.update.method.js +1 -1
- package/lib/src/client/methods/expectations-group.update.method.js.map +1 -1
- package/lib/src/client/methods/expectations.create.method.js +1 -1
- package/lib/src/client/methods/expectations.create.method.js.map +1 -1
- package/lib/src/client/methods/expectations.delete.method.js +1 -1
- package/lib/src/client/methods/expectations.delete.method.js.map +1 -1
- package/lib/src/client/methods/expectations.update.method.js +1 -1
- package/lib/src/client/methods/expectations.update.method.js.map +1 -1
- package/lib/src/client/methods/ping.method.js +1 -1
- package/lib/src/client/methods/ping.method.js.map +1 -1
- package/lib/src/client/methods/providers.create.method.js +1 -1
- package/lib/src/client/methods/providers.create.method.js.map +1 -1
- package/lib/src/client/methods/providers.delete.method.js +1 -1
- package/lib/src/client/methods/providers.delete.method.js.map +1 -1
- package/lib/src/client/models/client.d.ts +12 -10
- package/lib/src/client/models/client.d.ts.map +1 -1
- package/lib/src/client/models/client.js +6 -4
- package/lib/src/client/models/client.js.map +1 -1
- package/lib/src/client/models/types.d.ts +5 -24
- package/lib/src/client/models/types.d.ts.map +1 -1
- package/lib/src/client/models/types.js +0 -2
- package/lib/src/client/models/types.js.map +1 -1
- package/lib/src/client/onsite.d.ts +3 -3
- package/lib/src/client/onsite.d.ts.map +1 -1
- package/lib/src/client/onsite.js.map +1 -1
- package/lib/src/client/remote.d.ts +5 -5
- package/lib/src/client/remote.d.ts.map +1 -1
- package/lib/src/client/remote.js.map +1 -1
- package/lib/src/client/types.d.ts +8 -5
- package/lib/src/client/types.d.ts.map +1 -1
- package/lib/src/client/utils.d.ts +1 -1
- package/lib/src/client/utils.d.ts.map +1 -1
- package/lib/src/client/utils.js.map +1 -1
- package/lib/src/config/index.d.ts +11 -1
- package/lib/src/config/index.d.ts.map +1 -1
- package/lib/src/config/index.js +11 -1
- package/lib/src/config/index.js.map +1 -1
- package/lib/src/expectations/__utils__/index.d.ts.map +1 -1
- package/lib/src/expectations/__utils__/index.js +1 -2
- package/lib/src/expectations/__utils__/index.js.map +1 -1
- package/lib/src/expectations/models/expectation.d.ts +15 -11
- package/lib/src/expectations/models/expectation.d.ts.map +1 -1
- package/lib/src/expectations/models/expectation.js +2 -0
- package/lib/src/expectations/models/expectation.js.map +1 -1
- package/lib/src/expectations/models/operator.d.ts +3 -3
- package/lib/src/expectations/models/operator.d.ts.map +1 -1
- package/lib/src/expectations/models/operator.js +3 -4
- package/lib/src/expectations/models/operator.js.map +1 -1
- package/lib/src/expectations/models/storage.d.ts +5 -5
- package/lib/src/expectations/models/storage.d.ts.map +1 -1
- package/lib/src/expectations/models/storage.js +2 -2
- package/lib/src/expectations/models/storage.js.map +1 -1
- package/lib/src/expectations/operators/and.operator.d.ts +2 -2
- package/lib/src/expectations/operators/and.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/and.operator.js +11 -4
- package/lib/src/expectations/operators/and.operator.js.map +1 -1
- package/lib/src/expectations/operators/exec.operator.d.ts +3 -3
- package/lib/src/expectations/operators/exec.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/exec.operator.js +4 -4
- package/lib/src/expectations/operators/exec.operator.js.map +1 -1
- package/lib/src/expectations/operators/has.operator.d.ts +3 -3
- package/lib/src/expectations/operators/has.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/has.operator.js +7 -6
- package/lib/src/expectations/operators/has.operator.js.map +1 -1
- package/lib/src/expectations/operators/if.operator.d.ts +2 -2
- package/lib/src/expectations/operators/if.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/if.operator.js +11 -6
- package/lib/src/expectations/operators/if.operator.js.map +1 -1
- package/lib/src/expectations/operators/merge.operator.d.ts +3 -3
- package/lib/src/expectations/operators/merge.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/merge.operator.js +17 -13
- package/lib/src/expectations/operators/merge.operator.js.map +1 -1
- package/lib/src/expectations/operators/not.operator.d.ts +2 -2
- package/lib/src/expectations/operators/not.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/not.operator.js +3 -3
- package/lib/src/expectations/operators/not.operator.js.map +1 -1
- package/lib/src/expectations/operators/or.operator.d.ts +2 -2
- package/lib/src/expectations/operators/or.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/or.operator.js +11 -4
- package/lib/src/expectations/operators/or.operator.js.map +1 -1
- package/lib/src/expectations/operators/remove.operator.d.ts +2 -2
- package/lib/src/expectations/operators/remove.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/remove.operator.js +2 -2
- package/lib/src/expectations/operators/remove.operator.js.map +1 -1
- package/lib/src/expectations/operators/root.operator.d.ts +2 -2
- package/lib/src/expectations/operators/root.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/root.operator.js +2 -2
- package/lib/src/expectations/operators/root.operator.js.map +1 -1
- package/lib/src/expectations/operators/set.operator.d.ts +3 -3
- package/lib/src/expectations/operators/set.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/set.operator.js +16 -8
- package/lib/src/expectations/operators/set.operator.js.map +1 -1
- package/lib/src/expectations/operators/switch.operator.d.ts +3 -3
- package/lib/src/expectations/operators/switch.operator.d.ts.map +1 -1
- package/lib/src/expectations/operators/switch.operator.js +9 -9
- package/lib/src/expectations/operators/switch.operator.js.map +1 -1
- package/lib/src/expectations/types.d.ts +44 -49
- package/lib/src/expectations/types.d.ts.map +1 -1
- package/lib/src/expectations/types.js +0 -1
- package/lib/src/expectations/types.js.map +1 -1
- package/lib/src/expectations/utils/location.d.ts.map +1 -1
- package/lib/src/expectations/utils/location.js +0 -6
- package/lib/src/expectations/utils/location.js.map +1 -1
- package/lib/src/expectations/utils/schema.d.ts +1 -1
- package/lib/src/expectations/utils/schema.d.ts.map +1 -1
- package/lib/src/server/endpoints/cache.backup.endpoint.d.ts +14 -20
- package/lib/src/server/endpoints/cache.backup.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/cache.backup.endpoint.js +6 -6
- package/lib/src/server/endpoints/cache.backup.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/cache.delete.endpoint.d.ts +13 -29
- package/lib/src/server/endpoints/cache.delete.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/cache.delete.endpoint.js +6 -6
- package/lib/src/server/endpoints/cache.delete.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/cache.restore.endpoint.d.ts +13 -31
- package/lib/src/server/endpoints/cache.restore.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/cache.restore.endpoint.js +12 -7
- package/lib/src/server/endpoints/cache.restore.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/cache.restore.stream.endpoint.d.ts +14 -27
- package/lib/src/server/endpoints/cache.restore.stream.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/cache.restore.stream.endpoint.js +4 -4
- package/lib/src/server/endpoints/cache.restore.stream.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/cache.usage.get.endpoint.d.ts +14 -36
- package/lib/src/server/endpoints/cache.usage.get.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/cache.usage.get.endpoint.js +5 -5
- package/lib/src/server/endpoints/cache.usage.get.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/config.get.endpoint.d.ts +18 -43
- package/lib/src/server/endpoints/config.get.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/config.get.endpoint.js +4 -4
- package/lib/src/server/endpoints/config.get.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/expectations-group.update.endpoint.d.ts +14 -38
- package/lib/src/server/endpoints/expectations-group.update.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/expectations-group.update.endpoint.js +4 -4
- package/lib/src/server/endpoints/expectations-group.update.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/expectations.compact.get-list.endpoint.d.ts +15 -27
- package/lib/src/server/endpoints/expectations.compact.get-list.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/expectations.compact.get-list.endpoint.js +4 -4
- package/lib/src/server/endpoints/expectations.compact.get-list.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/expectations.create.endpoint.d.ts +14 -24
- package/lib/src/server/endpoints/expectations.create.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/expectations.create.endpoint.js +3 -3
- package/lib/src/server/endpoints/expectations.create.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/expectations.delete.endpoint.d.ts +13 -25
- package/lib/src/server/endpoints/expectations.delete.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/expectations.delete.endpoint.js +3 -3
- package/lib/src/server/endpoints/expectations.delete.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/expectations.get-by-id.endpoint.d.ts +14 -38
- package/lib/src/server/endpoints/expectations.get-by-id.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/expectations.get-by-id.endpoint.js +5 -5
- package/lib/src/server/endpoints/expectations.get-by-id.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/expectations.update.endpoint.d.ts +15 -35
- package/lib/src/server/endpoints/expectations.update.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/expectations.update.endpoint.js +4 -4
- package/lib/src/server/endpoints/expectations.update.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/gui.endpoint.d.ts +15 -22
- package/lib/src/server/endpoints/gui.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/gui.endpoint.js +5 -5
- package/lib/src/server/endpoints/gui.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/history.compact.get-list.endpoint.d.ts +19 -31
- package/lib/src/server/endpoints/history.compact.get-list.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/history.compact.get-list.endpoint.js +4 -4
- package/lib/src/server/endpoints/history.compact.get-list.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/history.delete.endpoint.d.ts +14 -20
- package/lib/src/server/endpoints/history.delete.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/history.delete.endpoint.js +4 -4
- package/lib/src/server/endpoints/history.delete.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/history.get-by-id.endpoint.d.ts +16 -41
- package/lib/src/server/endpoints/history.get-by-id.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/history.get-by-id.endpoint.js +5 -5
- package/lib/src/server/endpoints/history.get-by-id.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/metrics.endpoint.d.ts +15 -27
- package/lib/src/server/endpoints/metrics.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/metrics.endpoint.js +4 -4
- package/lib/src/server/endpoints/metrics.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/ping.endpoint.d.ts +14 -20
- package/lib/src/server/endpoints/ping.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/ping.endpoint.js +4 -4
- package/lib/src/server/endpoints/ping.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/providers.create.endpoint.d.ts +13 -33
- package/lib/src/server/endpoints/providers.create.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/providers.create.endpoint.js +3 -3
- package/lib/src/server/endpoints/providers.create.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/providers.delete.endpoint.d.ts +13 -25
- package/lib/src/server/endpoints/providers.delete.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/providers.delete.endpoint.js +3 -3
- package/lib/src/server/endpoints/providers.delete.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/providers.get-list.endpoint.d.ts +16 -17
- package/lib/src/server/endpoints/providers.get-list.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/providers.get-list.endpoint.js +3 -3
- package/lib/src/server/endpoints/providers.get-list.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/stats.endpoint.d.ts +15 -30
- package/lib/src/server/endpoints/stats.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/stats.endpoint.js +5 -5
- package/lib/src/server/endpoints/stats.endpoint.js.map +1 -1
- package/lib/src/server/index.d.ts +11 -12
- package/lib/src/server/index.d.ts.map +1 -1
- package/lib/src/server/index.js +55 -14
- package/lib/src/server/index.js.map +1 -1
- package/lib/src/server/models/containers/model.d.ts +10 -12
- package/lib/src/server/models/containers/model.d.ts.map +1 -1
- package/lib/src/server/models/containers/model.js +15 -3
- package/lib/src/server/models/containers/model.js.map +1 -1
- package/lib/src/server/models/containers/storage.d.ts +20 -9
- package/lib/src/server/models/containers/storage.d.ts.map +1 -1
- package/lib/src/server/models/containers/storage.js +43 -14
- package/lib/src/server/models/containers/storage.js.map +1 -1
- package/lib/src/server/models/containers/types.d.ts +9 -0
- package/lib/src/server/models/containers/types.d.ts.map +1 -1
- package/lib/src/server/models/containers/utils.d.ts +1 -1
- package/lib/src/server/models/containers/utils.d.ts.map +1 -1
- package/lib/src/server/models/containers/utils.js +3 -3
- package/lib/src/server/models/containers/utils.js.map +1 -1
- package/lib/src/server/models/context/index.d.ts +8 -8
- package/lib/src/server/models/context/index.d.ts.map +1 -1
- package/lib/src/server/models/context/index.js +15 -11
- package/lib/src/server/models/context/index.js.map +1 -1
- package/lib/src/server/models/context/snapshot.d.ts +4 -5
- package/lib/src/server/models/context/snapshot.d.ts.map +1 -1
- package/lib/src/server/models/context/snapshot.js +6 -6
- package/lib/src/server/models/context/snapshot.js.map +1 -1
- package/lib/src/server/models/context/types.d.ts +10 -9
- package/lib/src/server/models/context/types.d.ts.map +1 -1
- package/lib/src/server/models/context/utils.d.ts.map +1 -1
- package/lib/src/server/models/context/utils.js +2 -6
- package/lib/src/server/models/context/utils.js.map +1 -1
- package/lib/src/server/models/endpoint.d.ts +45 -28
- package/lib/src/server/models/endpoint.d.ts.map +1 -1
- package/lib/src/server/models/endpoint.js +24 -9
- package/lib/src/server/models/endpoint.js.map +1 -1
- package/lib/src/server/models/executor/index.d.ts +2 -2
- package/lib/src/server/models/executor/index.d.ts.map +1 -1
- package/lib/src/server/models/executor/index.js +45 -8
- package/lib/src/server/models/executor/index.js.map +1 -1
- package/lib/src/server/models/history/model.d.ts +4 -6
- package/lib/src/server/models/history/model.d.ts.map +1 -1
- package/lib/src/server/models/history/model.js +2 -7
- package/lib/src/server/models/history/model.js.map +1 -1
- package/lib/src/server/models/history/storage.d.ts +0 -2
- package/lib/src/server/models/history/storage.d.ts.map +1 -1
- package/lib/src/server/models/history/storage.js +0 -46
- package/lib/src/server/models/history/storage.js.map +1 -1
- package/lib/src/server/models/index.d.ts +2 -0
- package/lib/src/server/models/index.d.ts.map +1 -1
- package/lib/src/server/models/index.js +2 -0
- package/lib/src/server/models/index.js.map +1 -1
- package/lib/src/server/models/message.d.ts +16 -0
- package/lib/src/server/models/message.d.ts.map +1 -0
- package/lib/src/server/models/message.js +53 -0
- package/lib/src/server/models/message.js.map +1 -0
- package/lib/src/server/models/providers/model.d.ts +2 -2
- package/lib/src/server/models/providers/model.d.ts.map +1 -1
- package/lib/src/server/models/providers/model.js +1 -1
- package/lib/src/server/models/providers/model.js.map +1 -1
- package/lib/src/server/models/providers/storage.d.ts +10 -9
- package/lib/src/server/models/providers/storage.d.ts.map +1 -1
- package/lib/src/server/models/providers/storage.js +4 -9
- package/lib/src/server/models/providers/storage.js.map +1 -1
- package/lib/src/server/models/providers/system.d.ts +23 -0
- package/lib/src/server/models/providers/system.d.ts.map +1 -0
- package/lib/src/server/models/providers/system.js +105 -0
- package/lib/src/server/models/providers/system.js.map +1 -0
- package/lib/src/server/models/router.d.ts +8 -8
- package/lib/src/server/models/router.d.ts.map +1 -1
- package/lib/src/server/models/router.js +1 -1
- package/lib/src/server/models/router.js.map +1 -1
- package/lib/src/server/models/service.d.ts +2 -2
- package/lib/src/server/models/service.d.ts.map +1 -1
- package/lib/src/server/models/service.js.map +1 -1
- package/lib/src/server/models/transports/model.d.ts +1 -1
- package/lib/src/server/models/transports/model.d.ts.map +1 -1
- package/lib/src/server/models/transports/model.js.map +1 -1
- package/lib/src/server/models/transports/storage.d.ts +2 -2
- package/lib/src/server/models/transports/storage.d.ts.map +1 -1
- package/lib/src/server/models/transports/storage.js +1 -1
- package/lib/src/server/models/transports/storage.js.map +1 -1
- package/lib/src/server/models/websocket/errors/index.d.ts +2 -0
- package/lib/src/server/models/websocket/errors/index.d.ts.map +1 -0
- package/lib/src/server/models/websocket/errors/index.js +18 -0
- package/lib/src/server/models/websocket/errors/index.js.map +1 -0
- package/lib/src/server/models/websocket/errors/websocket-connection.error.d.ts +9 -0
- package/lib/src/server/models/websocket/errors/websocket-connection.error.d.ts.map +1 -0
- package/lib/src/server/models/websocket/errors/websocket-connection.error.js +32 -0
- package/lib/src/server/models/websocket/errors/websocket-connection.error.js.map +1 -0
- package/lib/src/server/models/websocket/factory.d.ts +9 -0
- package/lib/src/server/models/websocket/factory.d.ts.map +1 -0
- package/lib/src/server/models/websocket/factory.js +23 -0
- package/lib/src/server/models/websocket/factory.js.map +1 -0
- package/lib/src/server/models/websocket/index.d.ts +5 -0
- package/lib/src/server/models/websocket/index.d.ts.map +1 -0
- package/lib/src/server/models/websocket/index.js +21 -0
- package/lib/src/server/models/websocket/index.js.map +1 -0
- package/lib/src/server/models/websocket/model.d.ts +29 -0
- package/lib/src/server/models/websocket/model.d.ts.map +1 -0
- package/lib/src/server/models/websocket/model.js +164 -0
- package/lib/src/server/models/websocket/model.js.map +1 -0
- package/lib/src/server/models/websocket/types.d.ts +11 -0
- package/lib/src/server/models/websocket/types.d.ts.map +1 -0
- package/lib/src/server/models/websocket/types.js +3 -0
- package/lib/src/server/models/websocket/types.js.map +1 -0
- package/lib/src/server/transports/http.transport/context.d.ts +8 -8
- package/lib/src/server/transports/http.transport/context.d.ts.map +1 -1
- package/lib/src/server/transports/http.transport/context.js +10 -3
- package/lib/src/server/transports/http.transport/context.js.map +1 -1
- package/lib/src/server/transports/http.transport/executor.d.ts +3 -13
- package/lib/src/server/transports/http.transport/executor.d.ts.map +1 -1
- package/lib/src/server/transports/http.transport/executor.js +10 -9
- package/lib/src/server/transports/http.transport/executor.js.map +1 -1
- package/lib/src/server/transports/http.transport/index.d.ts +3 -2
- package/lib/src/server/transports/http.transport/index.d.ts.map +1 -1
- package/lib/src/server/transports/http.transport/index.js +2 -3
- package/lib/src/server/transports/http.transport/index.js.map +1 -1
- package/lib/src/server/transports/index.d.ts +1 -1
- package/lib/src/server/transports/index.d.ts.map +1 -1
- package/lib/src/server/transports/index.js +1 -1
- package/lib/src/server/transports/index.js.map +1 -1
- package/lib/src/server/transports/{internal → system}/http.transport/context.d.ts +11 -10
- package/lib/src/server/transports/system/http.transport/context.d.ts.map +1 -0
- package/lib/src/server/transports/{internal → system}/http.transport/context.js +7 -7
- package/lib/src/server/transports/system/http.transport/context.js.map +1 -0
- package/lib/src/server/transports/system/http.transport/executor.d.ts +21 -0
- package/lib/src/server/transports/system/http.transport/executor.d.ts.map +1 -0
- package/lib/src/server/transports/{internal → system}/http.transport/executor.js +8 -6
- package/lib/src/server/transports/system/http.transport/executor.js.map +1 -0
- package/lib/src/server/transports/system/http.transport/index.d.ts +15 -0
- package/lib/src/server/transports/system/http.transport/index.d.ts.map +1 -0
- package/lib/src/server/transports/{internal → system}/http.transport/index.js +5 -5
- package/lib/src/server/transports/system/http.transport/index.js.map +1 -0
- package/lib/src/server/transports/system/http.transport/reply.d.ts +10 -0
- package/lib/src/server/transports/system/http.transport/reply.d.ts.map +1 -0
- package/lib/src/server/transports/{internal → system}/http.transport/reply.js +4 -4
- package/lib/src/server/transports/system/http.transport/reply.js.map +1 -0
- package/lib/src/server/transports/system/index.d.ts.map +1 -0
- package/lib/src/server/transports/system/index.js.map +1 -0
- package/lib/src/server/transports/system/io.transport/context.d.ts +30 -0
- package/lib/src/server/transports/system/io.transport/context.d.ts.map +1 -0
- package/lib/src/server/transports/{internal → system}/io.transport/context.js +6 -6
- package/lib/src/server/transports/system/io.transport/context.js.map +1 -0
- package/lib/src/server/transports/system/io.transport/executor.d.ts +19 -0
- package/lib/src/server/transports/system/io.transport/executor.d.ts.map +1 -0
- package/lib/src/server/transports/{internal → system}/io.transport/executor.js +4 -4
- package/lib/src/server/transports/system/io.transport/executor.js.map +1 -0
- package/lib/src/server/transports/system/io.transport/index.d.ts +14 -0
- package/lib/src/server/transports/system/io.transport/index.d.ts.map +1 -0
- package/lib/src/server/transports/{internal → system}/io.transport/index.js +9 -9
- package/lib/src/server/transports/system/io.transport/index.js.map +1 -0
- package/lib/src/server/transports/system/io.transport/reply.d.ts +10 -0
- package/lib/src/server/transports/system/io.transport/reply.d.ts.map +1 -0
- package/lib/src/server/transports/{internal → system}/io.transport/reply.js +4 -4
- package/lib/src/server/transports/system/io.transport/reply.js.map +1 -0
- package/lib/src/server/transports/system/utils.d.ts.map +1 -0
- package/lib/src/server/transports/system/utils.js.map +1 -0
- package/lib/src/server/transports/ws.transport/context.d.ts +20 -20
- package/lib/src/server/transports/ws.transport/context.d.ts.map +1 -1
- package/lib/src/server/transports/ws.transport/context.js +20 -28
- package/lib/src/server/transports/ws.transport/context.js.map +1 -1
- package/lib/src/server/transports/ws.transport/executor.d.ts +7 -5
- package/lib/src/server/transports/ws.transport/executor.d.ts.map +1 -1
- package/lib/src/server/transports/ws.transport/executor.js +78 -26
- package/lib/src/server/transports/ws.transport/executor.js.map +1 -1
- package/lib/src/server/transports/ws.transport/index.d.ts +4 -3
- package/lib/src/server/transports/ws.transport/index.d.ts.map +1 -1
- package/lib/src/server/transports/ws.transport/index.js +29 -54
- package/lib/src/server/transports/ws.transport/index.js.map +1 -1
- package/lib/src/server/types/index.d.ts +5 -18
- package/lib/src/server/types/index.d.ts.map +1 -1
- package/lib/src/utils/common.d.ts +6 -3
- package/lib/src/utils/common.d.ts.map +1 -1
- package/lib/src/utils/common.js +22 -11
- package/lib/src/utils/common.js.map +1 -1
- package/lib/types/common.d.ts +3 -0
- package/lib/types/common.d.ts.map +1 -1
- package/package.json +17 -7
- package/public/assets/{index-tl7gtkKo.css → index-B87rNiAv.css} +1 -1
- package/public/assets/index-DoLXR0S_.js +1710 -0
- package/public/index.html +2 -2
- package/lib/bin/index.d.ts +0 -3
- package/lib/bin/index.d.ts.map +0 -1
- package/lib/bin/index.js +0 -32
- package/lib/bin/index.js.map +0 -1
- package/lib/src/server/transports/internal/http.transport/context.d.ts.map +0 -1
- package/lib/src/server/transports/internal/http.transport/context.js.map +0 -1
- package/lib/src/server/transports/internal/http.transport/executor.d.ts +0 -11
- package/lib/src/server/transports/internal/http.transport/executor.d.ts.map +0 -1
- package/lib/src/server/transports/internal/http.transport/executor.js.map +0 -1
- package/lib/src/server/transports/internal/http.transport/index.d.ts +0 -15
- package/lib/src/server/transports/internal/http.transport/index.d.ts.map +0 -1
- package/lib/src/server/transports/internal/http.transport/index.js.map +0 -1
- package/lib/src/server/transports/internal/http.transport/reply.d.ts +0 -10
- package/lib/src/server/transports/internal/http.transport/reply.d.ts.map +0 -1
- package/lib/src/server/transports/internal/http.transport/reply.js.map +0 -1
- package/lib/src/server/transports/internal/index.d.ts.map +0 -1
- package/lib/src/server/transports/internal/index.js.map +0 -1
- package/lib/src/server/transports/internal/io.transport/context.d.ts +0 -29
- package/lib/src/server/transports/internal/io.transport/context.d.ts.map +0 -1
- package/lib/src/server/transports/internal/io.transport/context.js.map +0 -1
- package/lib/src/server/transports/internal/io.transport/executor.d.ts +0 -10
- package/lib/src/server/transports/internal/io.transport/executor.d.ts.map +0 -1
- package/lib/src/server/transports/internal/io.transport/executor.js.map +0 -1
- package/lib/src/server/transports/internal/io.transport/index.d.ts +0 -14
- package/lib/src/server/transports/internal/io.transport/index.d.ts.map +0 -1
- package/lib/src/server/transports/internal/io.transport/index.js.map +0 -1
- package/lib/src/server/transports/internal/io.transport/reply.d.ts +0 -10
- package/lib/src/server/transports/internal/io.transport/reply.d.ts.map +0 -1
- package/lib/src/server/transports/internal/io.transport/reply.js.map +0 -1
- package/lib/src/server/transports/internal/utils.d.ts.map +0 -1
- package/lib/src/server/transports/internal/utils.js.map +0 -1
- package/public/assets/index-Dd-mRSqz.js +0 -548
- /package/lib/src/server/transports/{internal → system}/index.d.ts +0 -0
- /package/lib/src/server/transports/{internal → system}/index.js +0 -0
- /package/lib/src/server/transports/{internal → system}/utils.d.ts +0 -0
- /package/lib/src/server/transports/{internal → system}/utils.js +0 -0
|
@@ -2,38 +2,37 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WsRequestContext = void 0;
|
|
4
4
|
const models_1 = require("../../models");
|
|
5
|
-
const utils_1 = require("../../../utils");
|
|
6
5
|
const logger_1 = require("../../../logger");
|
|
7
|
-
const
|
|
6
|
+
const utils_1 = require("../../../utils");
|
|
7
|
+
const logger = logger_1.Logger.build('Transports.Ws.Context');
|
|
8
8
|
class WsRequestContext extends models_1.RequestContext {
|
|
9
|
-
constructor(provider,
|
|
10
|
-
super(provider, {
|
|
9
|
+
constructor(provider, incoming, request, socket, head) {
|
|
10
|
+
super(provider, { transport: 'ws' });
|
|
11
11
|
this.provider = provider;
|
|
12
|
-
this.socket = socket;
|
|
13
|
-
this.event = event;
|
|
14
12
|
this.incoming = incoming;
|
|
13
|
+
this.request = request;
|
|
14
|
+
this.socket = socket;
|
|
15
|
+
this.head = head;
|
|
15
16
|
this.snapshot = this.compileSnapshot();
|
|
16
17
|
this.history = this.compileHistory();
|
|
18
|
+
this.additional = {
|
|
19
|
+
ws: (0, utils_1.cast)(null),
|
|
20
|
+
};
|
|
17
21
|
}
|
|
18
22
|
compileSnapshot() {
|
|
19
23
|
const snapshot = super.compileSnapshot();
|
|
20
|
-
snapshot.
|
|
21
|
-
snapshot.incoming.method = this.event === 'message' ? 'MSG' : 'CON';
|
|
24
|
+
snapshot.incoming.method = 'WS';
|
|
22
25
|
return snapshot;
|
|
23
26
|
}
|
|
24
27
|
handle() {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
error: () => null,
|
|
31
|
-
next: (data) => logger.info(`Incoming WS ${this.event} [${this.incoming.path}] got message`, data),
|
|
32
|
-
});
|
|
33
|
-
}
|
|
28
|
+
logger.info(`Incoming WS connection [${this.incoming.path}]`);
|
|
29
|
+
this.streams.incoming.subscribe({
|
|
30
|
+
error: () => null,
|
|
31
|
+
next: (message) => logger.info(`Incoming WS connection [${this.incoming.path}] got message of [${message.dataRaw.length}] bytes`),
|
|
32
|
+
});
|
|
34
33
|
this.streams.outgoing.subscribe({
|
|
35
34
|
error: () => null,
|
|
36
|
-
next: (
|
|
35
|
+
next: (message) => logger.info(`Incoming WS connection [${this.incoming.path}] sent message with [${message.dataRaw.length}] bytes`),
|
|
37
36
|
});
|
|
38
37
|
return super.handle();
|
|
39
38
|
}
|
|
@@ -43,19 +42,12 @@ class WsRequestContext extends models_1.RequestContext {
|
|
|
43
42
|
return super.skip();
|
|
44
43
|
}
|
|
45
44
|
complete() {
|
|
46
|
-
logger.info(`Incoming WS
|
|
45
|
+
logger.info(`Incoming WS connection [${this.incoming.path}] has finished`, `with status [${this.outgoing?.status ?? 0}] in [${Date.now() - this.timestamp}ms]`);
|
|
47
46
|
return super.complete();
|
|
48
47
|
}
|
|
49
|
-
static async build(provider,
|
|
48
|
+
static async build(provider, request, socket, head) {
|
|
50
49
|
const incoming = await (0, models_1.extractHttpIncommingContext)(request);
|
|
51
|
-
|
|
52
|
-
incoming.data = incoming.dataRaw
|
|
53
|
-
? incoming.type === 'plain'
|
|
54
|
-
? (0, utils_1.parseJsonSafe)(incoming.dataRaw.toString()).result
|
|
55
|
-
: (0, models_1.parsePayload)(incoming.type, incoming.dataRaw)
|
|
56
|
-
: undefined;
|
|
57
|
-
incoming.type = incoming.type === 'plain' && incoming.data !== undefined ? 'json' : incoming.type;
|
|
58
|
-
return new WsRequestContext(provider, socket, event, incoming);
|
|
50
|
+
return new WsRequestContext(provider, incoming, request, socket, head);
|
|
59
51
|
}
|
|
60
52
|
}
|
|
61
53
|
exports.WsRequestContext = WsRequestContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/context.ts"],"names":[],"mappings":";;;AAGA,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/context.ts"],"names":[],"mappings":";;;AAGA,yCAAyH;AACzH,4CAAyC;AACzC,0CAAsC;AAEtC,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAErD,MAAa,gBAAiB,SAAQ,uBAGpC;IAQA,YACS,QAAkB,EAClB,QAAiC,EACjC,OAAwB,EACxB,MAAc,EACd,IAAY;QAEnB,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAN9B,aAAQ,GAAR,QAAQ,CAAU;QAClB,aAAQ,GAAR,QAAQ,CAAyB;QACjC,YAAO,GAAP,OAAO,CAAiB;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAQ;QAZd,aAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAClC,YAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEhC,eAAU,GAAG;YAClB,EAAE,EAAE,IAAA,YAAI,EAAmB,IAAI,CAAC;SACjC,CAAC;IAUF,CAAC;IAEM,eAAe;QACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;QAEzC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,MAAM;QACX,MAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;QAE9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC5B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI;YACjB,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAChB,MAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,QAAQ,CAAC,IAAI,qBAAqB,OAAO,CAAC,OAAO,CAAC,MAAM,SAAS,CAAC;SACjH,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC9B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI;YACjB,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAChB,MAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,QAAQ,CAAC,IAAI,wBAAwB,OAAO,CAAC,OAAO,CAAC,MAAM,SAAS,CAAC;SACpH,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAEjC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAEM,QAAQ;QACb,MAAM,CAAC,IAAI,CACT,2BAA2B,IAAI,CAAC,QAAQ,CAAC,IAAI,gBAAgB,EAC7D,gBAAgB,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,KAAK,CACpF,CAAC;QAEF,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAChB,QAAkB,EAClB,OAAwB,EACxB,MAAc,EACd,IAAY;QAEZ,MAAM,QAAQ,GAAG,MAAM,IAAA,oCAA2B,EAAC,OAAO,CAAC,CAAC;QAC5D,OAAO,IAAI,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;CACF;AAvED,4CAuEC"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { WsRequestContext } from './context';
|
|
1
|
+
import type { Expectation, IExpectationSchemaForward } from '../../../expectations';
|
|
2
|
+
import type { WsRequestContext } from './context';
|
|
3
|
+
import { Executor, IExecutorExecOptions, IRequestContextForwarded, IRequestContextIncoming, IRequestContextOutgoing, IWebSocketConfiguration } from '../../models';
|
|
3
4
|
export declare class WsExecutor extends Executor<WsRequestContext> {
|
|
4
5
|
exec(context: WsRequestContext, options?: IExecutorExecOptions): Promise<WsRequestContext>;
|
|
5
|
-
match(context: WsRequestContext): Promise<
|
|
6
|
-
|
|
7
|
-
forward(): Promise<null>;
|
|
6
|
+
match(context: WsRequestContext): Promise<Expectation | null>;
|
|
7
|
+
forward(context: WsRequestContext, incoming: IRequestContextIncoming, schema: IExpectationSchemaForward): Promise<IRequestContextForwarded | null>;
|
|
8
8
|
reply(context: WsRequestContext, outgoing: IRequestContextOutgoing): Promise<IRequestContextOutgoing>;
|
|
9
|
+
/** Compiles WS request configuration to forward */
|
|
10
|
+
protected compileForwardingConfiguration(context: WsRequestContext, incoming: IRequestContextIncoming, schema: IExpectationSchemaForward): Promise<IWebSocketConfiguration>;
|
|
9
11
|
}
|
|
10
12
|
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/executor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/executor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAIlD,OAAO,EACL,QAAQ,EAER,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EAGxB,MAAM,cAAc,CAAC;AAStB,qBAAa,UAAW,SAAQ,QAAQ,CAAC,gBAAgB,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAe1F,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAW7D,OAAO,CAClB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,uBAAuB,EACjC,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IAgC9B,KAAK,CAChB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,uBAAuB,CAAC;IA8CnC,mDAAmD;cACnC,8BAA8B,CAC5C,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,uBAAuB,EACjC,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,uBAAuB,CAAC;CAkBpC"}
|
|
@@ -1,54 +1,106 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WsExecutor = void 0;
|
|
4
|
-
const models_1 = require("../../models");
|
|
5
4
|
const utils_1 = require("../../../utils");
|
|
6
5
|
const logger_1 = require("../../../logger");
|
|
7
|
-
const
|
|
6
|
+
const models_1 = require("../../models");
|
|
7
|
+
const logger = logger_1.Logger.build('Transports.Ws.Executor');
|
|
8
|
+
/** Got from `ws` package */
|
|
9
|
+
const checkStatusIsValid = (code) => (code >= 1000 && code <= 1014 && code !== 1004 && code !== 1005 && code !== 1006) ||
|
|
10
|
+
(code >= 3000 && code <= 4999);
|
|
8
11
|
class WsExecutor extends models_1.Executor {
|
|
9
12
|
async exec(context, options) {
|
|
10
13
|
context.socket.once('close', () => context.complete());
|
|
11
|
-
|
|
12
|
-
context.socket.on('message', (data) => {
|
|
13
|
-
const serialized = data.toString();
|
|
14
|
-
context.streams.incoming.next((0, utils_1.parseJsonSafe)(serialized).result ?? serialized);
|
|
15
|
-
});
|
|
16
|
-
}
|
|
14
|
+
context.socket.on('message', (data) => models_1.RequestMessage.build(data));
|
|
17
15
|
await super.exec(context, options).catch((error) => {
|
|
18
16
|
if (error instanceof models_1.ExecutorManualError && error.is('ECONNABORTED')) {
|
|
19
|
-
return context.socket.
|
|
17
|
+
return context.socket.destroy();
|
|
20
18
|
}
|
|
21
19
|
logger.error('Got unexpected error while execution', error?.stack ?? error);
|
|
22
20
|
});
|
|
23
|
-
return context
|
|
21
|
+
return context;
|
|
24
22
|
}
|
|
25
23
|
async match(context) {
|
|
26
|
-
const expectation = context.provider.storages.expectations.match(context.snapshot);
|
|
24
|
+
const expectation = await context.provider.storages.expectations.match(context.snapshot);
|
|
27
25
|
if (!expectation) {
|
|
28
|
-
context.
|
|
26
|
+
context.skip();
|
|
29
27
|
return null;
|
|
30
28
|
}
|
|
31
29
|
return expectation;
|
|
32
30
|
}
|
|
33
|
-
async
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
31
|
+
async forward(context, incoming, schema) {
|
|
32
|
+
const configuration = await this
|
|
33
|
+
.compileForwardingConfiguration(context, incoming, schema)
|
|
34
|
+
.catch((error) => {
|
|
35
|
+
context.snapshot.assign({
|
|
36
|
+
error: { code: 'UNKNOWN', message: error?.message ?? 'Unknown' },
|
|
37
|
+
outgoing: { type: 'plain', status: 1006, headers: {} },
|
|
38
|
+
});
|
|
39
|
+
logger.error('Got error while execution [compileForwardingConfiguration] method', error?.stack ?? error);
|
|
40
|
+
throw error;
|
|
41
|
+
});
|
|
42
|
+
context.additional.ws = models_1.WebSocketFactory
|
|
43
|
+
.build(configuration)
|
|
44
|
+
.compile()
|
|
45
|
+
.connect();
|
|
46
|
+
return {
|
|
47
|
+
schema,
|
|
48
|
+
incoming,
|
|
49
|
+
outgoing: {
|
|
50
|
+
type: 'plain',
|
|
51
|
+
status: 0,
|
|
52
|
+
headers: await context.additional.ws.headers(),
|
|
53
|
+
stream: context.additional.ws.observable,
|
|
54
|
+
},
|
|
55
|
+
};
|
|
41
56
|
}
|
|
42
57
|
async reply(context, outgoing) {
|
|
43
|
-
await
|
|
44
|
-
context.
|
|
45
|
-
|
|
58
|
+
await new Promise((resolve) => {
|
|
59
|
+
context.provider.server.wss.once('headers', (headers) => {
|
|
60
|
+
const formatted = (0, utils_1.formatHeaders)(outgoing.headers);
|
|
61
|
+
Object.entries(formatted).forEach(([key, value]) => headers.some((line) => line.toLowerCase().startsWith(`${key}:`))
|
|
62
|
+
? null
|
|
63
|
+
: headers.push([key, value].join(': ')));
|
|
64
|
+
});
|
|
65
|
+
context.provider.server.wss.handleUpgrade(context.request, context.socket, context.head, async (socket) => {
|
|
66
|
+
await outgoing.stream?.forEach((payload) => {
|
|
67
|
+
const message = payload instanceof models_1.RequestMessage
|
|
68
|
+
? payload
|
|
69
|
+
: models_1.RequestMessage.build(payload);
|
|
70
|
+
context.streams.outgoing.next(message);
|
|
71
|
+
socket.send(message.serialize());
|
|
72
|
+
});
|
|
73
|
+
const status = await context.additional.ws?.status() ?? null;
|
|
74
|
+
if (outgoing.status === 0) {
|
|
75
|
+
outgoing.status = status ?? 1000;
|
|
76
|
+
}
|
|
77
|
+
if (context.snapshot.forwarded?.outgoing) {
|
|
78
|
+
context.snapshot.forwarded.outgoing.status = status ?? outgoing.status;
|
|
79
|
+
}
|
|
80
|
+
if (!checkStatusIsValid(outgoing.status)) {
|
|
81
|
+
const fallback = status ?? 1000;
|
|
82
|
+
logger.warn(`Outgoing status [${outgoing.status}] is invalid. Fallback to [${fallback}]`);
|
|
83
|
+
outgoing.status = fallback;
|
|
84
|
+
}
|
|
85
|
+
socket.close(outgoing.status);
|
|
86
|
+
resolve();
|
|
87
|
+
});
|
|
46
88
|
});
|
|
47
|
-
if (context.event === 'connection' || context.snapshot.flags.wsCloseConnection) {
|
|
48
|
-
context.socket.close(outgoing.status || 1000);
|
|
49
|
-
}
|
|
50
89
|
return outgoing;
|
|
51
90
|
}
|
|
91
|
+
/** Compiles WS request configuration to forward */
|
|
92
|
+
async compileForwardingConfiguration(context, incoming, schema) {
|
|
93
|
+
const url = new URL(schema.url ?? incoming.path, schema.baseUrl);
|
|
94
|
+
return {
|
|
95
|
+
timeout: schema.timeout,
|
|
96
|
+
headers: (0, utils_1.formatHeaders)(Object.assign(incoming.headers, {
|
|
97
|
+
...(schema.options?.overrideHost !== false && { host: url.host }),
|
|
98
|
+
})),
|
|
99
|
+
...(schema.url && { url: schema.url }),
|
|
100
|
+
...(schema.baseUrl && { baseURL: schema.baseUrl, url: incoming.path }),
|
|
101
|
+
query: context.incoming.query,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
52
104
|
}
|
|
53
105
|
exports.WsExecutor = WsExecutor;
|
|
54
106
|
//# sourceMappingURL=executor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/executor.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { WebSocket, RawData } from 'ws';
|
|
2
1
|
import { IncomingMessage } from 'http';
|
|
2
|
+
import { Duplex } from 'stream';
|
|
3
3
|
import { Provider, Router, Transport } from '../../models';
|
|
4
4
|
import { WsRequestContext } from './context';
|
|
5
|
+
import { IServerContext } from '../../types';
|
|
5
6
|
import { WsExecutor } from './executor';
|
|
6
|
-
export declare const buildWsListener: <T extends
|
|
7
|
+
export declare const buildWsListener: <T extends IServerContext>(router: Router<T>) => (request: IncomingMessage, socket: Duplex, head: Buffer) => Promise<void | Duplex | WsRequestContext>;
|
|
7
8
|
export declare class WsTransport extends Transport<WsExecutor> {
|
|
8
9
|
executor: WsExecutor;
|
|
9
|
-
compileContext(provider: Provider
|
|
10
|
+
compileContext(provider: Provider, request: IncomingMessage, socket: Duplex, head: Buffer): Promise<WsRequestContext>;
|
|
10
11
|
}
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKxC,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,cAAc,UAAU,MAAM,CAAC,CAAC,CAAC,eACzD,eAAe,UAAU,MAAM,QAAQ,MAAM,8CAyC5D,CAAA;AAEH,qBAAa,WAAY,SAAQ,SAAS,CAAC,UAAU,CAAC;IAC7C,QAAQ,aAAoB;IAE5B,cAAc,CACnB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM;CAIf"}
|
|
@@ -6,65 +6,40 @@ const context_1 = require("./context");
|
|
|
6
6
|
const meta_1 = require("../../../meta");
|
|
7
7
|
const executor_1 = require("./executor");
|
|
8
8
|
const logger_1 = require("../../../logger");
|
|
9
|
-
const logger = logger_1.Logger.build('
|
|
10
|
-
const
|
|
11
|
-
close: Symbol('close'),
|
|
12
|
-
break: Symbol('break'),
|
|
13
|
-
};
|
|
14
|
-
const handle = async (event, socket, request, match, data) => {
|
|
15
|
-
const context = await match.transport
|
|
16
|
-
.compileContext(match.provider, socket, request, event, data)
|
|
17
|
-
.catch((error) => logger.error(`Got error while [ws:${event}] context compilation`, error?.stack ?? error));
|
|
18
|
-
if (!context) {
|
|
19
|
-
return signals.close;
|
|
20
|
-
}
|
|
21
|
-
if (!context.is(['registered', 'handling'])) {
|
|
22
|
-
return signals.break;
|
|
23
|
-
}
|
|
24
|
-
const expectation = await meta_1.metaStorage
|
|
25
|
-
.wrap(context.meta, () => match.transport.executor.match(context))
|
|
26
|
-
.catch((error) => logger.error(`Got error while [ws:${event}] expectation matching`, error?.stack ?? error));
|
|
27
|
-
if (!context.is(['registered', 'handling'])) {
|
|
28
|
-
return signals.break;
|
|
29
|
-
}
|
|
30
|
-
if (!expectation) {
|
|
31
|
-
context.cancel();
|
|
32
|
-
return null;
|
|
33
|
-
}
|
|
34
|
-
await meta_1.metaStorage
|
|
35
|
-
.wrap(context.meta, () => match.transport.executor.exec(context.handle(), { expectation }))
|
|
36
|
-
.catch((error) => logger.error(`Got error while [ws:${event}] execution`, error?.stack ?? error));
|
|
37
|
-
return signals.close;
|
|
38
|
-
};
|
|
39
|
-
const buildWsListener = (router) => async (socket, request) => {
|
|
9
|
+
const logger = logger_1.Logger.build('Transports.Ws');
|
|
10
|
+
const buildWsListener = (router) => async (request, socket, head) => {
|
|
40
11
|
if (request.url?.startsWith('/socket.io')) {
|
|
41
|
-
return socket.
|
|
12
|
+
return socket.destroy();
|
|
42
13
|
}
|
|
43
|
-
const matches = [];
|
|
44
14
|
for (const match of router.match('ws', request.url ?? '')) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
15
|
+
const context = await match.transport
|
|
16
|
+
.compileContext(match.provider, request, socket, head)
|
|
17
|
+
.catch((error) => logger.error(`Got error while [ws] context compilation`, error?.stack ?? error));
|
|
18
|
+
if (!context) {
|
|
19
|
+
return socket.destroy();
|
|
49
20
|
}
|
|
50
|
-
if (
|
|
21
|
+
if (!context.is(['registered', 'handling'])) {
|
|
51
22
|
break;
|
|
52
23
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
for (const match of matches) {
|
|
59
|
-
const signal = await handle('message', socket, request, match, data);
|
|
60
|
-
if (signal === signals.close) {
|
|
61
|
-
return socket.close();
|
|
62
|
-
}
|
|
63
|
-
if (signal === signals.break) {
|
|
64
|
-
break;
|
|
65
|
-
}
|
|
24
|
+
const expectation = await meta_1.metaStorage
|
|
25
|
+
.wrap(context.meta, () => match.transport.executor.match(context))
|
|
26
|
+
.catch((error) => logger.error(`Got error while [ws] expectation matching`, error?.stack ?? error));
|
|
27
|
+
if (!context.is(['registered', 'handling'])) {
|
|
28
|
+
break;
|
|
66
29
|
}
|
|
67
|
-
|
|
30
|
+
if (!expectation) {
|
|
31
|
+
context.cancel();
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
return meta_1.metaStorage
|
|
35
|
+
.wrap(context.meta, () => match.transport.executor.exec(context.handle(), { expectation }))
|
|
36
|
+
.catch((error) => logger.error(`Got error while [ws] execution`, error?.stack ?? error));
|
|
37
|
+
}
|
|
38
|
+
const { transport, provider } = router.default('ws');
|
|
39
|
+
const context = await transport.compileContext(provider, request, socket, head);
|
|
40
|
+
await meta_1.metaStorage
|
|
41
|
+
.wrap(context.meta, () => transport.executor.exec(context.handle()))
|
|
42
|
+
.catch((error) => logger.error('Got error while execution', error?.stack ?? error));
|
|
68
43
|
};
|
|
69
44
|
exports.buildWsListener = buildWsListener;
|
|
70
45
|
class WsTransport extends models_1.Transport {
|
|
@@ -72,8 +47,8 @@ class WsTransport extends models_1.Transport {
|
|
|
72
47
|
super(...arguments);
|
|
73
48
|
this.executor = new executor_1.WsExecutor();
|
|
74
49
|
}
|
|
75
|
-
compileContext(provider,
|
|
76
|
-
return context_1.WsRequestContext.build(provider,
|
|
50
|
+
compileContext(provider, request, socket, head) {
|
|
51
|
+
return context_1.WsRequestContext.build(provider, request, socket, head);
|
|
77
52
|
}
|
|
78
53
|
}
|
|
79
54
|
exports.WsTransport = WsTransport;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,30 +4,17 @@ import type { TMetricPoint } from '../services';
|
|
|
4
4
|
import type { Expectation } from '../../expectations';
|
|
5
5
|
import type { History } from '../models';
|
|
6
6
|
export type TRequestPayloadType = 'json' | 'plain' | 'xml';
|
|
7
|
-
export interface
|
|
8
|
-
transport
|
|
9
|
-
|
|
10
|
-
flag?: string;
|
|
11
|
-
}
|
|
12
|
-
export interface IServerContext<TInput extends IServerContextInput = {}> {
|
|
13
|
-
transport: TInput extends {
|
|
14
|
-
transport: infer R;
|
|
15
|
-
} ? R : (string & {});
|
|
16
|
-
event: TInput extends {
|
|
17
|
-
event: infer R;
|
|
18
|
-
} ? R : (string & {});
|
|
19
|
-
flag: TInput extends {
|
|
20
|
-
flag: infer R;
|
|
21
|
-
} ? R : (string & {});
|
|
7
|
+
export interface IServerContext {
|
|
8
|
+
transport: string;
|
|
9
|
+
flag: string;
|
|
22
10
|
}
|
|
23
11
|
export interface IServerContextDefaults {
|
|
24
12
|
transport: HttpTransport['TContext']['transport'] | WsTransport['TContext']['transport'];
|
|
25
|
-
event: HttpTransport['TContext']['event'] | WsTransport['TContext']['event'];
|
|
26
13
|
flag: HttpTransport['TContext']['flag'] | WsTransport['TContext']['flag'];
|
|
27
14
|
}
|
|
28
15
|
export interface IIoExchangeSchema {
|
|
29
|
-
'expectation:added': Expectation
|
|
30
|
-
'expectation:updated': Expectation
|
|
16
|
+
'expectation:added': Expectation['TPlain'];
|
|
17
|
+
'expectation:updated': Expectation['TPlain'];
|
|
31
18
|
'history:added': History['TPlain'];
|
|
32
19
|
'history:updated': History['TPlain'];
|
|
33
20
|
'metric:registered': {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAE3D,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;IACzF,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;CAC3E;AAED,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3C,qBAAqB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAE7C,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErC,mBAAmB,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,YAAY,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM;IACpE,UAAU,EAAE,WAAW,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;CAC3B"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { FlattenArrays } from '../../types';
|
|
2
|
-
export declare const wait: (ms: number) => Promise<unknown>;
|
|
3
1
|
export declare const cast: <T>(payload: T) => T;
|
|
4
|
-
export declare const
|
|
2
|
+
export declare const wait: (ms: number) => Promise<void> & {
|
|
3
|
+
value: number;
|
|
4
|
+
abort: () => void;
|
|
5
|
+
};
|
|
5
6
|
/**
|
|
6
7
|
* @example
|
|
7
8
|
* ```ts
|
|
@@ -23,6 +24,8 @@ export declare const parseJsonSafe: <T extends object>(serializedJson: string) =
|
|
|
23
24
|
readonly error: Error;
|
|
24
25
|
readonly result?: T;
|
|
25
26
|
};
|
|
27
|
+
/** Joins propeties arrays and renames keys to lower case */
|
|
28
|
+
export declare const formatHeaders: (headers: object) => Record<string, string>;
|
|
26
29
|
/**
|
|
27
30
|
* Cuts massive string to a cunks with limited length
|
|
28
31
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,GAAI,CAAC,WAAW,CAAC,MAAY,CAAC;AAC/C,eAAO,MAAM,IAAI,OAAQ,MAAM;;;CAiB9B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,iEAGH,CAAC;AAEvB,eAAO,MAAM,eAAe,QAAS,MAAM,KAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAG3E,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,kBAAkB,MAAM;;qBAIvD,CAAC;;;;;sBAAD,CAAC;CAQf,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,aAAa,YAAa,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAIlE,CAAC;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,UAAW,MAAM,UAAU,MAAM,KAAG,MAAM,EAQzD,CAAC"}
|
package/lib/src/utils/common.js
CHANGED
|
@@ -1,19 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.cut = exports.
|
|
4
|
-
const
|
|
5
|
-
exports.wait = wait;
|
|
6
|
+
exports.cut = exports.formatHeaders = exports.parseJsonSafe = exports.serializeRegExp = exports.buildCounter = exports.wait = exports.cast = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
6
8
|
const cast = (payload) => payload;
|
|
7
9
|
exports.cast = cast;
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
const wait = (ms) => {
|
|
11
|
+
const context = {
|
|
12
|
+
isCanceled: false,
|
|
13
|
+
timeout: undefined,
|
|
14
|
+
};
|
|
15
|
+
const promise = new Promise((resolve) => context.isCanceled ? resolve() : (context.timeout = setTimeout(resolve, ms)));
|
|
16
|
+
return Object.assign(promise, {
|
|
17
|
+
value: ms,
|
|
18
|
+
abort: () => {
|
|
19
|
+
context.isCanceled = true;
|
|
20
|
+
clearTimeout(context.timeout);
|
|
21
|
+
},
|
|
22
|
+
});
|
|
15
23
|
};
|
|
16
|
-
exports.
|
|
24
|
+
exports.wait = wait;
|
|
17
25
|
/**
|
|
18
26
|
* @example
|
|
19
27
|
* ```ts
|
|
@@ -46,6 +54,9 @@ const parseJsonSafe = (serializedJson) => {
|
|
|
46
54
|
}
|
|
47
55
|
};
|
|
48
56
|
exports.parseJsonSafe = parseJsonSafe;
|
|
57
|
+
/** Joins propeties arrays and renames keys to lower case */
|
|
58
|
+
const formatHeaders = (headers) => Object.entries(headers).reduce((acc, [key, value]) => lodash_1.default.set(acc, key.toLowerCase(), Array.isArray(value) ? value.join(',') : String(value)), {});
|
|
59
|
+
exports.formatHeaders = formatHeaders;
|
|
49
60
|
/**
|
|
50
61
|
* Cuts massive string to a cunks with limited length
|
|
51
62
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":"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"}
|
package/lib/types/common.d.ts
CHANGED
|
@@ -55,6 +55,9 @@ export type ExtractKeysWithoutType<T extends object, U, Q extends keyof T = keyo
|
|
|
55
55
|
* ```
|
|
56
56
|
*/
|
|
57
57
|
export type ExtractClassMethodContext<T extends Constructable<object>, K extends keyof T | keyof InstanceType<T>> = (K extends keyof T ? T[K] : K extends keyof InstanceType<T> ? InstanceType<T>[K] : never) extends TFunction<infer R0, infer R1> ? [R0, R1] : never;
|
|
58
|
+
export type OverrideObject<TTarget extends object, TSource extends object> = {
|
|
59
|
+
[K in keyof TTarget]: K extends keyof TSource ? TSource[K] extends TTarget[K] ? TSource[K] : TTarget[K] : TTarget[K];
|
|
60
|
+
};
|
|
58
61
|
export type MergeObjects<T1 extends object, T2 extends object> = keyof T2 extends never ? T1 : Omit<T1, keyof T2> & T2;
|
|
59
62
|
export type MergeClasses<T1 extends Constructable<object>, T2 extends Constructable<object>> = keyof InstanceType<T2> extends never ? keyof T2 extends never ? T1 : Omit<T1, keyof T2> & T2 : Omit<T1, keyof T2> & Constructable<Omit<InstanceType<T1>, keyof InstanceType<T2>>> & T2;
|
|
60
63
|
export type MergeClassesTuple<T extends readonly Constructable<object>[]> = T extends readonly [infer R0, ...infer RN] ? R0 extends Constructable<object> ? RN extends readonly Constructable<object>[] ? MergeClasses<R0, MergeClassesTuple<RN>> : R0 : Constructable<{}> : Constructable<{}>;
|