@ibgib/node-gib 0.0.9 → 0.0.13
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/assumptions.respec.mjs.map +1 -1
- package/dist/email/aws/aws-sigv4-helper.d.mts +26 -0
- package/dist/email/aws/aws-sigv4-helper.d.mts.map +1 -0
- package/dist/email/aws/aws-sigv4-helper.mjs +94 -0
- package/dist/email/aws/aws-sigv4-helper.mjs.map +1 -0
- package/dist/email/aws/email-receiver-aws.d.mts +13 -0
- package/dist/email/aws/email-receiver-aws.d.mts.map +1 -0
- package/dist/email/aws/email-receiver-aws.mjs +97 -0
- package/dist/email/aws/email-receiver-aws.mjs.map +1 -0
- package/dist/email/aws/email-sender-aws.d.mts +23 -0
- package/dist/email/aws/email-sender-aws.d.mts.map +1 -0
- package/dist/email/aws/email-sender-aws.mjs +106 -0
- package/dist/email/aws/email-sender-aws.mjs.map +1 -0
- package/dist/email/aws/index.d.mts +7 -0
- package/dist/email/aws/index.d.mts.map +1 -0
- package/dist/email/aws/index.mjs +7 -0
- package/dist/email/aws/index.mjs.map +1 -0
- package/dist/email/email-constants.d.mts +15 -0
- package/dist/email/email-constants.d.mts.map +1 -0
- package/dist/email/email-constants.mjs +15 -0
- package/dist/email/email-constants.mjs.map +1 -0
- package/dist/email/email-helpers.d.mts +35 -0
- package/dist/email/email-helpers.d.mts.map +1 -0
- package/dist/email/email-helpers.mjs +144 -0
- package/dist/email/email-helpers.mjs.map +1 -0
- package/dist/email/email-receiver.d.mts +12 -0
- package/dist/email/email-receiver.d.mts.map +1 -0
- package/dist/email/email-receiver.mjs +23 -0
- package/dist/email/email-receiver.mjs.map +1 -0
- package/dist/email/email-sender.d.mts +13 -0
- package/dist/email/email-sender.d.mts.map +1 -0
- package/dist/email/email-sender.mjs +35 -0
- package/dist/email/email-sender.mjs.map +1 -0
- package/dist/email/email-service.respec.d.mts +2 -0
- package/dist/email/email-service.respec.d.mts.map +1 -0
- package/dist/email/email-service.respec.mjs +115 -0
- package/dist/email/email-service.respec.mjs.map +1 -0
- package/dist/email/email-types.d.mts +53 -0
- package/dist/email/email-types.d.mts.map +1 -0
- package/dist/email/email-types.mjs +5 -0
- package/dist/email/email-types.mjs.map +1 -0
- package/dist/email/index.d.mts +11 -0
- package/dist/email/index.d.mts.map +1 -0
- package/dist/email/index.mjs +11 -0
- package/dist/email/index.mjs.map +1 -0
- package/dist/email/mock/email-sender-mock.d.mts +20 -0
- package/dist/email/mock/email-sender-mock.d.mts.map +1 -0
- package/dist/email/mock/email-sender-mock.mjs +47 -0
- package/dist/email/mock/email-sender-mock.mjs.map +1 -0
- package/dist/email/mock/index.d.mts +5 -0
- package/dist/email/mock/index.d.mts.map +1 -0
- package/dist/email/mock/index.mjs +5 -0
- package/dist/email/mock/index.mjs.map +1 -0
- package/dist/index.d.mts +13 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +14 -0
- package/dist/index.mjs.map +1 -0
- package/dist/respec-gib.node.mjs +3 -4
- package/dist/respec-gib.node.mjs.map +1 -1
- package/dist/serve-gib/bootstrap-helper.d.mts +27 -0
- package/dist/serve-gib/bootstrap-helper.d.mts.map +1 -0
- package/dist/serve-gib/bootstrap-helper.mjs +116 -0
- package/dist/serve-gib/bootstrap-helper.mjs.map +1 -0
- package/dist/serve-gib/bootstrap-helper.respec.d.mts +2 -0
- package/dist/serve-gib/bootstrap-helper.respec.d.mts.map +1 -0
- package/dist/serve-gib/bootstrap-helper.respec.mjs +85 -0
- package/dist/serve-gib/bootstrap-helper.respec.mjs.map +1 -0
- package/dist/serve-gib/constants.d.mts +2 -0
- package/dist/serve-gib/constants.d.mts.map +1 -0
- package/dist/serve-gib/constants.mjs +2 -0
- package/dist/serve-gib/constants.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/debug/ws-echo.handler.d.mts +39 -0
- package/dist/serve-gib/handlers/api/debug/ws-echo.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/debug/ws-echo.handler.mjs +99 -0
- package/dist/serve-gib/handlers/api/debug/ws-echo.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/email/email-inbound.handler.d.mts +25 -0
- package/dist/serve-gib/handlers/api/email/email-inbound.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/email/email-inbound.handler.mjs +54 -0
- package/dist/serve-gib/handlers/api/email/email-inbound.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/email/email-outbound.handler.d.mts +24 -0
- package/dist/serve-gib/handlers/api/email/email-outbound.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/email/email-outbound.handler.mjs +72 -0
- package/dist/serve-gib/handlers/api/email/email-outbound.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/health.handler.d.mts +14 -0
- package/dist/serve-gib/handlers/api/health.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/health.handler.mjs +21 -0
- package/dist/serve-gib/handlers/api/health.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/health.respec.d.mts +2 -0
- package/dist/serve-gib/handlers/api/health.respec.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/health.respec.mjs +47 -0
- package/dist/serve-gib/handlers/api/health.respec.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/ibgib/ibgib-handler-types.d.mts +41 -0
- package/dist/serve-gib/handlers/api/ibgib/ibgib-handler-types.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/ibgib/ibgib-handler-types.mjs +34 -0
- package/dist/serve-gib/handlers/api/ibgib/ibgib-handler-types.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/ibgib/ibgib.handler.d.mts +26 -0
- package/dist/serve-gib/handlers/api/ibgib/ibgib.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/ibgib/ibgib.handler.mjs +179 -0
- package/dist/serve-gib/handlers/api/ibgib/ibgib.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-check-email.handler.d.mts +23 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-check-email.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-check-email.handler.mjs +52 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-check-email.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-evolve.handler.d.mts +44 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-evolve.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-evolve.handler.mjs +127 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-evolve.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-genesis.handler.d.mts +45 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-genesis.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-genesis.handler.mjs +159 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-genesis.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-get.handler.d.mts +25 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-get.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-get.handler.mjs +183 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-get.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-get.respec.d.mts +2 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-get.respec.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-get.respec.mjs +98 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-get.respec.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-handler-types.d.mts +22 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-handler-types.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-handler-types.mjs +19 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-handler-types.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-lookup.handler.d.mts +19 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-lookup.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-lookup.handler.mjs +82 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-lookup.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-post.handler.d.mts +20 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-post.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-post.handler.mjs +77 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-post.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-post.respec.d.mts +2 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-post.respec.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-post.respec.mjs +131 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-post.respec.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/sso-config.handler.d.mts +23 -0
- package/dist/serve-gib/handlers/api/keystone/sso-config.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/sso-config.handler.mjs +62 -0
- package/dist/serve-gib/handlers/api/keystone/sso-config.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/sso-link.handler.d.mts +23 -0
- package/dist/serve-gib/handlers/api/keystone/sso-link.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/sso-link.handler.mjs +118 -0
- package/dist/serve-gib/handlers/api/keystone/sso-link.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/sso-login.handler.d.mts +24 -0
- package/dist/serve-gib/handlers/api/keystone/sso-login.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/sso-login.handler.mjs +160 -0
- package/dist/serve-gib/handlers/api/keystone/sso-login.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/error-handler.d.mts +14 -0
- package/dist/serve-gib/handlers/error-handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/error-handler.mjs +35 -0
- package/dist/serve-gib/handlers/error-handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/handler-base.d.mts +129 -0
- package/dist/serve-gib/handlers/handler-base.d.mts.map +1 -0
- package/dist/serve-gib/handlers/handler-base.mjs +402 -0
- package/dist/serve-gib/handlers/handler-base.mjs.map +1 -0
- package/dist/serve-gib/handlers/static-handler.d.mts +17 -0
- package/dist/serve-gib/handlers/static-handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/static-handler.mjs +85 -0
- package/dist/serve-gib/handlers/static-handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/ws/sync-upgrade-handler-base.d.mts +35 -0
- package/dist/serve-gib/handlers/ws/sync-upgrade-handler-base.d.mts.map +1 -0
- package/dist/serve-gib/handlers/ws/sync-upgrade-handler-base.mjs +219 -0
- package/dist/serve-gib/handlers/ws/sync-upgrade-handler-base.mjs.map +1 -0
- package/dist/serve-gib/handlers/ws/sync-upgrade.handler.d.mts +21 -0
- package/dist/serve-gib/handlers/ws/sync-upgrade.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/ws/sync-upgrade.handler.mjs +21 -0
- package/dist/serve-gib/handlers/ws/sync-upgrade.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/ws/ws-helper.d.mts +29 -0
- package/dist/serve-gib/handlers/ws/ws-helper.d.mts.map +1 -0
- package/dist/serve-gib/handlers/ws/ws-helper.mjs +195 -0
- package/dist/serve-gib/handlers/ws/ws-helper.mjs.map +1 -0
- package/dist/serve-gib/handlers/ws/ws-types.d.mts +32 -0
- package/dist/serve-gib/handlers/ws/ws-types.d.mts.map +1 -0
- package/dist/serve-gib/handlers/ws/ws-types.mjs +2 -0
- package/dist/serve-gib/handlers/ws/ws-types.mjs.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-constants.d.mts +4 -0
- package/dist/serve-gib/identity-index/identity-index-constants.d.mts.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-constants.mjs +4 -0
- package/dist/serve-gib/identity-index/identity-index-constants.mjs.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-helpers.d.mts +35 -0
- package/dist/serve-gib/identity-index/identity-index-helpers.d.mts.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-helpers.mjs +69 -0
- package/dist/serve-gib/identity-index/identity-index-helpers.mjs.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-service.d.mts +41 -0
- package/dist/serve-gib/identity-index/identity-index-service.d.mts.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-service.mjs +86 -0
- package/dist/serve-gib/identity-index/identity-index-service.mjs.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-service.respec.d.mts +2 -0
- package/dist/serve-gib/identity-index/identity-index-service.respec.d.mts.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-service.respec.mjs +109 -0
- package/dist/serve-gib/identity-index/identity-index-service.respec.mjs.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-types.d.mts +31 -0
- package/dist/serve-gib/identity-index/identity-index-types.d.mts.map +1 -0
- package/dist/serve-gib/identity-index/identity-index-types.mjs +2 -0
- package/dist/serve-gib/identity-index/identity-index-types.mjs.map +1 -0
- package/dist/serve-gib/index.d.mts +50 -0
- package/dist/serve-gib/index.d.mts.map +1 -0
- package/dist/serve-gib/index.mjs +80 -0
- package/dist/serve-gib/index.mjs.map +1 -0
- package/dist/serve-gib/keystone-schema-helpers.d.mts +50 -0
- package/dist/serve-gib/keystone-schema-helpers.d.mts.map +1 -0
- package/dist/serve-gib/keystone-schema-helpers.mjs +99 -0
- package/dist/serve-gib/keystone-schema-helpers.mjs.map +1 -0
- package/dist/serve-gib/keystone-schema-helpers.respec.d.mts +2 -0
- package/dist/serve-gib/keystone-schema-helpers.respec.d.mts.map +1 -0
- package/dist/serve-gib/keystone-schema-helpers.respec.mjs +68 -0
- package/dist/serve-gib/keystone-schema-helpers.respec.mjs.map +1 -0
- package/dist/serve-gib/metaspace-nodeindexedspace/metaspace-nodeindexedspace.d.mts +38 -0
- package/dist/serve-gib/metaspace-nodeindexedspace/metaspace-nodeindexedspace.d.mts.map +1 -0
- package/dist/serve-gib/metaspace-nodeindexedspace/metaspace-nodeindexedspace.mjs +85 -0
- package/dist/serve-gib/metaspace-nodeindexedspace/metaspace-nodeindexedspace.mjs.map +1 -0
- package/dist/serve-gib/path-constants.d.mts +102 -0
- package/dist/serve-gib/path-constants.d.mts.map +1 -0
- package/dist/serve-gib/path-constants.mjs +107 -0
- package/dist/serve-gib/path-constants.mjs.map +1 -0
- package/dist/serve-gib/path-helper.d.mts +23 -0
- package/dist/serve-gib/path-helper.d.mts.map +1 -0
- package/dist/serve-gib/path-helper.mjs +107 -0
- package/dist/serve-gib/path-helper.mjs.map +1 -0
- package/dist/serve-gib/path-helper.respec.d.mts +2 -0
- package/dist/serve-gib/path-helper.respec.d.mts.map +1 -0
- package/dist/serve-gib/path-helper.respec.mjs +83 -0
- package/dist/serve-gib/path-helper.respec.mjs.map +1 -0
- package/dist/serve-gib/serve-gib-helpers.d.mts +14 -0
- package/dist/serve-gib/serve-gib-helpers.d.mts.map +1 -0
- package/dist/serve-gib/serve-gib-helpers.mjs +30 -0
- package/dist/serve-gib/serve-gib-helpers.mjs.map +1 -0
- package/dist/serve-gib/serve-gib-v1.d.mts +40 -0
- package/dist/serve-gib/serve-gib-v1.d.mts.map +1 -0
- package/dist/serve-gib/serve-gib-v1.mjs +157 -0
- package/dist/serve-gib/serve-gib-v1.mjs.map +1 -0
- package/dist/serve-gib/serve-gib.respec.d.mts +2 -0
- package/dist/serve-gib/serve-gib.respec.d.mts.map +1 -0
- package/dist/serve-gib/serve-gib.respec.mjs +85 -0
- package/dist/serve-gib/serve-gib.respec.mjs.map +1 -0
- package/dist/serve-gib/server-constants.d.mts +3 -0
- package/dist/serve-gib/server-constants.d.mts.map +1 -0
- package/dist/serve-gib/server-constants.mjs +3 -0
- package/dist/serve-gib/server-constants.mjs.map +1 -0
- package/dist/serve-gib/types.d.mts +94 -0
- package/dist/serve-gib/types.d.mts.map +1 -0
- package/dist/serve-gib/types.mjs +7 -0
- package/dist/serve-gib/types.mjs.map +1 -0
- package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace-helper.mjs.map +1 -1
- package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.d.mts +5 -0
- package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.d.mts.map +1 -1
- package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.mjs +37 -0
- package/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.mjs.map +1 -1
- package/dist/witness/space/node-filesystem-space/node-filesystem-space-helper.mjs +1 -1
- package/dist/witness/space/node-filesystem-space/node-filesystem-space-helper.mjs.map +1 -1
- package/dist/witness/space/node-filesystem-space/node-filesystem-space-types.d.mts.map +1 -1
- package/dist/witness/space/node-filesystem-space/node-filesystem-space-v1.d.mts.map +1 -1
- package/dist/witness/space/node-filesystem-space/node-filesystem-space-v1.mjs.map +1 -1
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/node-indexed-filesystem-space-v1.d.mts.map +1 -1
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_createAndInit.node-indexed-filesystem-space-v1.respec.mjs.map +1 -1
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_persistTransformResult.node-indexed-filesystem-space-v1.respec.mjs.map +1 -1
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_putGetDelete.node-indexed-filesystem-space-v1.respec.mjs.map +1 -1
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-indexed-filesystem-space-v1.respec.mjs.map +1 -1
- package/dist/witness/space/node-filesystem-space/respec/testSpace_createAndInit.node-filesystem-space-v1.respec.mjs.map +1 -1
- package/dist/witness/space/node-filesystem-space/respec/testSpace_persistTransformResult.node-filesystem-space-v1.respec.mjs.map +1 -1
- package/dist/witness/space/node-filesystem-space/respec/testSpace_putGetDelete.node-filesystem-space-v1.respec.mjs.map +1 -1
- package/dist/witness/space/node-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-filesystem-space-v1.respec.mjs.map +1 -1
- package/package.json +2 -2
- package/src/email/aws/aws-sigv4-helper.mts +139 -0
- package/src/email/aws/email-receiver-aws.mts +107 -0
- package/src/email/aws/email-sender-aws.mts +130 -0
- package/src/email/aws/index.mts +7 -0
- package/src/email/email-constants.mts +18 -0
- package/src/email/email-helpers.mts +160 -0
- package/src/email/email-receiver.mts +29 -0
- package/src/email/email-sender.mts +44 -0
- package/src/email/email-service.respec.mts +134 -0
- package/src/email/email-types.mts +59 -0
- package/src/email/index.mts +11 -0
- package/src/email/mock/email-sender-mock.mts +54 -0
- package/src/email/mock/index.mts +5 -0
- package/src/index.mts +41 -0
- package/src/respec-gib.node.mts +4 -5
- package/src/serve-gib/CHANGELOG.md +34 -0
- package/src/serve-gib/README.md +77 -0
- package/src/serve-gib/SERVE_REFACTOR_IMPLEMENTATION.md +112 -0
- package/src/serve-gib/bootstrap-helper.mts +141 -0
- package/src/serve-gib/bootstrap-helper.respec.mts +100 -0
- package/src/serve-gib/constants.mts +1 -0
- package/src/serve-gib/handlers/api/debug/ws-echo.handler.mts +105 -0
- package/src/serve-gib/handlers/api/email/email-inbound.handler.mts +67 -0
- package/src/serve-gib/handlers/api/email/email-outbound.handler.mts +82 -0
- package/src/serve-gib/handlers/api/health.handler.mts +23 -0
- package/src/serve-gib/handlers/api/health.respec.mts +51 -0
- package/src/serve-gib/handlers/api/ibgib/ibgib-handler-types.mts +49 -0
- package/src/serve-gib/handlers/api/ibgib/ibgib.handler.mts +176 -0
- package/src/serve-gib/handlers/api/keystone/keystone-check-email.handler.mts +60 -0
- package/src/serve-gib/handlers/api/keystone/keystone-evolve.handler.mts +150 -0
- package/src/serve-gib/handlers/api/keystone/keystone-genesis.handler.mts +171 -0
- package/src/serve-gib/handlers/api/keystone/keystone-get.handler.mts +198 -0
- package/src/serve-gib/handlers/api/keystone/keystone-get.respec.mts +106 -0
- package/src/serve-gib/handlers/api/keystone/keystone-handler-types.mts +29 -0
- package/src/serve-gib/handlers/api/keystone/keystone-lookup.handler.mts +95 -0
- package/src/serve-gib/handlers/api/keystone/keystone-post.handler.mts +75 -0
- package/src/serve-gib/handlers/api/keystone/keystone-post.respec.mts +130 -0
- package/src/serve-gib/handlers/api/keystone/sso-config.handler.mts +66 -0
- package/src/serve-gib/handlers/api/keystone/sso-link.handler.mts +140 -0
- package/src/serve-gib/handlers/api/keystone/sso-login.handler.mts +190 -0
- package/src/serve-gib/handlers/error-handler.mts +36 -0
- package/src/serve-gib/handlers/handler-base.mts +383 -0
- package/src/serve-gib/handlers/static-handler.mts +83 -0
- package/src/serve-gib/handlers/ws/sync-upgrade-handler-base.mts +233 -0
- package/src/serve-gib/handlers/ws/sync-upgrade.handler.mts +24 -0
- package/src/serve-gib/handlers/ws/ws-helper.mts +216 -0
- package/src/serve-gib/handlers/ws/ws-types.mts +53 -0
- package/src/serve-gib/identity-index/identity-index-constants.mts +3 -0
- package/src/serve-gib/identity-index/identity-index-helpers.mts +85 -0
- package/src/serve-gib/identity-index/identity-index-service.mts +109 -0
- package/src/serve-gib/identity-index/identity-index-service.respec.mts +135 -0
- package/src/serve-gib/identity-index/identity-index-types.mts +33 -0
- package/src/serve-gib/index.mts +92 -0
- package/src/serve-gib/keystone-schema-helpers.mts +120 -0
- package/src/serve-gib/keystone-schema-helpers.respec.mts +85 -0
- package/src/serve-gib/metaspace-nodeindexedspace/metaspace-nodeindexedspace.mts +109 -0
- package/src/serve-gib/path-constants.mts +119 -0
- package/src/serve-gib/path-helper.mts +101 -0
- package/src/serve-gib/path-helper.respec.mts +99 -0
- package/src/serve-gib/serve-gib-helpers.mts +32 -0
- package/src/serve-gib/serve-gib-v1.mts +172 -0
- package/src/serve-gib/serve-gib.respec.mts +90 -0
- package/src/serve-gib/server-constants.mts +2 -0
- package/src/serve-gib/types.mts +102 -0
- package/src/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace.mts +41 -0
- package/src/witness/space/node-filesystem-space/node-filesystem-space-helper.mts +1 -1
|
@@ -0,0 +1,402 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module serve-gib/handler
|
|
3
|
+
*
|
|
4
|
+
* Base class and utilities for serve-gib handlers.
|
|
5
|
+
*/
|
|
6
|
+
import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
7
|
+
import { getIbAndGib } from '@ibgib/ts-gib/dist/helper.mjs';
|
|
8
|
+
import { getGibInfo } from '@ibgib/ts-gib/dist/V1/transforms/transform-helper.mjs';
|
|
9
|
+
import { GLOBAL_LOG_A_LOT } from '../constants.mjs';
|
|
10
|
+
import { bootstrapDomainMetaspace } from '../bootstrap-helper.mjs';
|
|
11
|
+
const logalot = GLOBAL_LOG_A_LOT;
|
|
12
|
+
/**
|
|
13
|
+
* Abstract base class for serve-gib handlers.
|
|
14
|
+
* Provides a "pit of success" plumbing for routing, error handling, and parameter parsing.
|
|
15
|
+
*
|
|
16
|
+
* @template TParams Type for the parsed query parameters.
|
|
17
|
+
* @template TQueryParams Type for the parsed query parameters.
|
|
18
|
+
*/
|
|
19
|
+
export class ServeGibHandlerBase {
|
|
20
|
+
lc = `[${ServeGibHandlerBase.name}]`;
|
|
21
|
+
/**
|
|
22
|
+
* The main entry point processing incoming requests.
|
|
23
|
+
* Implements standard plumbing for matching, error handling, and param parsing.
|
|
24
|
+
*/
|
|
25
|
+
async handleRoute(reqCtx) {
|
|
26
|
+
const lc = `${this.lc}[${this.handleRoute.name}]`;
|
|
27
|
+
try {
|
|
28
|
+
if (logalot) {
|
|
29
|
+
console.log(`${lc} starting... (I: ad1a523a7bbd222db2e6ffab54f59c26)`);
|
|
30
|
+
}
|
|
31
|
+
// First check if we can handle it
|
|
32
|
+
if (!this.canHandleRoute(reqCtx)) {
|
|
33
|
+
if (logalot) {
|
|
34
|
+
console.log(`${lc} cannot handle route. returning undefined. (I: 359bd4a9d44acb2408e3ad9570cfa526)`);
|
|
35
|
+
}
|
|
36
|
+
return undefined; /* <<<< returns early */
|
|
37
|
+
}
|
|
38
|
+
// prepare handling params, e.g., keystone/domain addr(s), ibgib
|
|
39
|
+
// addr(s), not sure what else
|
|
40
|
+
reqCtx.params = await this.parseParams(reqCtx);
|
|
41
|
+
// prepare queryParams
|
|
42
|
+
reqCtx.queryParams = await this.parseQueryParams(reqCtx);
|
|
43
|
+
// hook to initialize contextual things like metaspace
|
|
44
|
+
await this.initConcreteContext(reqCtx);
|
|
45
|
+
// Delegate to implementation
|
|
46
|
+
return await this.handleRouteImpl(reqCtx);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
const emsg = `${lc} Error handling route: ${extractErrorMsg(error)}`;
|
|
50
|
+
console.error(emsg);
|
|
51
|
+
// Standard fallback error. Individual handlers can override with more specific catches in handleRouteImpl.
|
|
52
|
+
return this.error(500, 'Internal Server Error', {
|
|
53
|
+
errorMsg: emsg,
|
|
54
|
+
method: this.method,
|
|
55
|
+
regex: this.regex?.source,
|
|
56
|
+
rawUrl: reqCtx?.rawUrl,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
finally {
|
|
60
|
+
if (logalot) {
|
|
61
|
+
console.log(`${lc} complete.`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Extracts per-handler/route params from a request context.
|
|
67
|
+
*
|
|
68
|
+
* @see {@link RequestContext.params}
|
|
69
|
+
*/
|
|
70
|
+
parseParams(reqCtx) {
|
|
71
|
+
const lc = `${this.lc}[${this.parseParams.name}]`;
|
|
72
|
+
try {
|
|
73
|
+
if (logalot) {
|
|
74
|
+
console.log(`${lc} starting... (I: c08d98768f449317b8e4b56925d3b826)`);
|
|
75
|
+
}
|
|
76
|
+
return this.parseParamsImpl(reqCtx);
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
80
|
+
throw error;
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
if (logalot) {
|
|
84
|
+
console.log(`${lc} complete.`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Concrete implementation for extracting params from a path.
|
|
90
|
+
*
|
|
91
|
+
* @see {@link RequestContext.params}
|
|
92
|
+
*/
|
|
93
|
+
async parseParamsImpl(reqCtx) {
|
|
94
|
+
const lc = `${this.lc}[${this.parseParamsImpl.name}]`;
|
|
95
|
+
try {
|
|
96
|
+
if (logalot) {
|
|
97
|
+
console.log(`${lc} starting... (I: 849e491b436860d6788b76c898b0a826)`);
|
|
98
|
+
}
|
|
99
|
+
if (logalot) {
|
|
100
|
+
console.log(`${lc} default implementation in base class is a no-op (I: 88d128a11e1c66030839dc582486e826)`);
|
|
101
|
+
}
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
106
|
+
throw error;
|
|
107
|
+
}
|
|
108
|
+
finally {
|
|
109
|
+
if (logalot) {
|
|
110
|
+
console.log(`${lc} complete.`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Hook to initialize concrete context, e.g., initializing a metaspace for the
|
|
116
|
+
* specific domain. The base implementation is a no-op.
|
|
117
|
+
*/
|
|
118
|
+
async initConcreteContext(reqCtx) {
|
|
119
|
+
const lc = `${this.lc}[${this.initConcreteContext.name}]`;
|
|
120
|
+
try {
|
|
121
|
+
if (logalot) {
|
|
122
|
+
console.log(`${lc} starting...`);
|
|
123
|
+
}
|
|
124
|
+
if (logalot) {
|
|
125
|
+
console.log(`${lc} default implementation in base class is a no-op`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
130
|
+
throw error;
|
|
131
|
+
}
|
|
132
|
+
finally {
|
|
133
|
+
if (logalot) {
|
|
134
|
+
console.log(`${lc} complete.`);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Determines if this handler should attempt to handle the given request.
|
|
140
|
+
*
|
|
141
|
+
* Default implementation checks {@link method} and {@link regex} matching
|
|
142
|
+
* against the pathname. Override for more advanced logic for edge cases.
|
|
143
|
+
*/
|
|
144
|
+
canHandleRoute(reqCtx) {
|
|
145
|
+
const lc = `${this.lc}[${this.canHandleRoute.name}]`;
|
|
146
|
+
try {
|
|
147
|
+
if (logalot) {
|
|
148
|
+
console.log(`${lc} starting... (I: d790f637074feee63c4bfcb158f47826)`);
|
|
149
|
+
}
|
|
150
|
+
const isMethodMatch = this.method === 'ALL' || reqCtx.method === this.method;
|
|
151
|
+
const isRegexMatch = this.regex.test(reqCtx.pathname);
|
|
152
|
+
return isMethodMatch && isRegexMatch;
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
156
|
+
throw error;
|
|
157
|
+
}
|
|
158
|
+
finally {
|
|
159
|
+
if (logalot) {
|
|
160
|
+
console.log(`${lc} complete.`);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Parses query parameters from the URL.
|
|
166
|
+
* Defaults to a basic key-value mapping of the URL search params.
|
|
167
|
+
*/
|
|
168
|
+
async parseQueryParams(reqCtx) {
|
|
169
|
+
const lc = `${this.lc}[${this.parseQueryParams.name}]`;
|
|
170
|
+
try {
|
|
171
|
+
if (logalot) {
|
|
172
|
+
console.log(`${lc} starting... (I: b5d985a4a58b8f3edff9f5ab500e5c26)`);
|
|
173
|
+
}
|
|
174
|
+
const queryParams = {};
|
|
175
|
+
reqCtx.url.searchParams.forEach((value, key) => {
|
|
176
|
+
queryParams[key] = value;
|
|
177
|
+
});
|
|
178
|
+
if (Object.keys(queryParams).length > 0) {
|
|
179
|
+
// query params exist, validate and return if valid, throw if not
|
|
180
|
+
const validationErrors = await this.validateQueryParams({ queryParams });
|
|
181
|
+
if (validationErrors.length === 0) {
|
|
182
|
+
return queryParams;
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
throw new Error(`invalid query params. validationErrors: ${validationErrors.join(', ')} (E: 9355f8a9643803f52f2241f1c7f39826)`);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
// no query params given
|
|
190
|
+
return undefined;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
195
|
+
throw error;
|
|
196
|
+
}
|
|
197
|
+
finally {
|
|
198
|
+
if (logalot) {
|
|
199
|
+
console.log(`${lc} complete.`);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* base class implementation is a no-op. override this in descendant class
|
|
205
|
+
* who expect the possibility of query params
|
|
206
|
+
* @returns array of validation errors, empty if valid
|
|
207
|
+
*/
|
|
208
|
+
async validateQueryParams({ queryParams }) {
|
|
209
|
+
const lc = `${this.lc}[${this.validateQueryParams.name}]`;
|
|
210
|
+
try {
|
|
211
|
+
if (logalot) {
|
|
212
|
+
console.log(`${lc} starting... (I: 33b448e223c8682bd8b8b055cab86f26)`);
|
|
213
|
+
}
|
|
214
|
+
if (logalot) {
|
|
215
|
+
console.log(`${lc} base class implementation is a no-op. returning empty array (i.e., valid) (I: 393e8db53d5a9e6ca8eb69ae25810826)`);
|
|
216
|
+
}
|
|
217
|
+
return [];
|
|
218
|
+
}
|
|
219
|
+
catch (error) {
|
|
220
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
221
|
+
throw error;
|
|
222
|
+
}
|
|
223
|
+
finally {
|
|
224
|
+
if (logalot) {
|
|
225
|
+
console.log(`${lc} complete.`);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Standard JSON success response.
|
|
231
|
+
*/
|
|
232
|
+
ok(body, status = 200) {
|
|
233
|
+
return { status, body, isJson: true };
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Standard JSON error response.
|
|
237
|
+
*/
|
|
238
|
+
error(status, message, details) {
|
|
239
|
+
return { status, body: { error: message, details }, isJson: true };
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* 404 Not Found response.
|
|
243
|
+
*/
|
|
244
|
+
notFound(message = 'Not found') {
|
|
245
|
+
return this.error(404, message);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Base class for handlers that have to first initialize a metaspace in order to
|
|
250
|
+
* process the incoming request.
|
|
251
|
+
*
|
|
252
|
+
* ## notes
|
|
253
|
+
*
|
|
254
|
+
* Some handlers, like those who do error handling or serving static files, do
|
|
255
|
+
* not need to initialize a metaspace or do any get/put of any ibgibs. So those
|
|
256
|
+
* don't need to descend from this class.
|
|
257
|
+
*
|
|
258
|
+
* But if the handler is one that has to put/get an ibgib, then a metaspace will
|
|
259
|
+
* need to be init. Those handlers should descend from this class.
|
|
260
|
+
*/
|
|
261
|
+
export class ServeGibHandlerWithMetaspaceBase extends ServeGibHandlerBase {
|
|
262
|
+
lc = `[${ServeGibHandlerWithMetaspaceBase.name}]`;
|
|
263
|
+
async initConcreteContext(reqCtx) {
|
|
264
|
+
const lc = `${this.lc}[${this.initConcreteContext.name}]`;
|
|
265
|
+
try {
|
|
266
|
+
if (logalot) {
|
|
267
|
+
console.log(`${lc} starting...`);
|
|
268
|
+
}
|
|
269
|
+
await this.initAndPopulateDomainContext(reqCtx);
|
|
270
|
+
}
|
|
271
|
+
catch (error) {
|
|
272
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
273
|
+
throw error;
|
|
274
|
+
}
|
|
275
|
+
finally {
|
|
276
|
+
if (logalot) {
|
|
277
|
+
console.log(`${lc} complete.`);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
parseParamsImpl(reqCtx) {
|
|
282
|
+
const lc = `${this.lc}[${this.parseParamsImpl.name}]`;
|
|
283
|
+
try {
|
|
284
|
+
if (logalot) {
|
|
285
|
+
console.log(`${lc} starting... (I: f3ae6e662fe8d28db8c230e80a700826)`);
|
|
286
|
+
}
|
|
287
|
+
throw new Error(`(UNEXPECTED) not implemented. this function must be implemented in handlers that initialize metaspace. in that concrete handler class, you must parse out the raw path and build up the params object. That params object must at least include domain info, because that drives the multitenancy. (E: bd6a584b8f988f9ed81c77eedd36b826)`);
|
|
288
|
+
}
|
|
289
|
+
catch (error) {
|
|
290
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
291
|
+
throw error;
|
|
292
|
+
}
|
|
293
|
+
finally {
|
|
294
|
+
if (logalot) {
|
|
295
|
+
console.log(`${lc} complete.`);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
validateQueryParams({ queryParams }) {
|
|
300
|
+
const lc = `${this.lc}[${this.validateQueryParams.name}]`;
|
|
301
|
+
try {
|
|
302
|
+
if (logalot) {
|
|
303
|
+
console.log(`${lc} starting... (I: 14bb4659f9587d18786105c8e4966826)`);
|
|
304
|
+
}
|
|
305
|
+
throw new Error(`(UNEXPECTED) not implemented. this function must be implemented in handlers that initialize metaspace. in that concrete handler class, you must provide a function that validates query params expectations, even if you expect no query params. (E: 804c98a724ddf59998199ec87a9ee126)`);
|
|
306
|
+
}
|
|
307
|
+
catch (error) {
|
|
308
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
309
|
+
throw error;
|
|
310
|
+
}
|
|
311
|
+
finally {
|
|
312
|
+
if (logalot) {
|
|
313
|
+
console.log(`${lc} complete.`);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* helper that should extract the "domain" (driven by the correctly scoped
|
|
319
|
+
* keystone) and set related props on the context.
|
|
320
|
+
*/
|
|
321
|
+
async initAndPopulateDomainContext(reqCtx) {
|
|
322
|
+
const lc = `${this.lc}[${this.initAndPopulateDomainContext.name}]`;
|
|
323
|
+
try {
|
|
324
|
+
if (logalot) {
|
|
325
|
+
console.log(`${lc} starting...`);
|
|
326
|
+
}
|
|
327
|
+
if (!reqCtx.params) {
|
|
328
|
+
throw new Error(`invalid RequestContext. params is falsy but we expected params.domainInfo at the minimum. (E: 433c15116e2e821768847d23f7853a26)`);
|
|
329
|
+
}
|
|
330
|
+
if (!reqCtx.params.domainInfo) {
|
|
331
|
+
throw new Error(`invalid RequestContext. reqCtx.params is truthy but params.domainInfo is falsy. at this point, we should have parsed domain info from reqCtx.params (E: ae40882910aa6f45a810e268fd126f26)`);
|
|
332
|
+
}
|
|
333
|
+
const { domainInfo } = reqCtx.params;
|
|
334
|
+
const { addr: domainAddr, } = domainInfo;
|
|
335
|
+
if (!domainAddr) {
|
|
336
|
+
throw new Error(`(UNEXPECTED) domainAddr falsy? reqCtx.params does not contain domainIb and domainGib for a handler extending ServeGibHandlerWithMetaspaceBase. If extending this metaspace base, we are expected to have a domain addr with ib and gib. (E: 06bae6908ba8f200e8c50b28ed8df626)`);
|
|
337
|
+
}
|
|
338
|
+
// since we have access to reqCtx.dataDir, not sure if we need rootPath in DomainInfo?
|
|
339
|
+
reqCtx.metaspace = await bootstrapDomainMetaspace(domainAddr, reqCtx.dataDir);
|
|
340
|
+
}
|
|
341
|
+
catch (error) {
|
|
342
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
343
|
+
throw error;
|
|
344
|
+
}
|
|
345
|
+
finally {
|
|
346
|
+
if (logalot) {
|
|
347
|
+
console.log(`${lc} complete.`);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Helper to build the domain info from a {@link domainAddr}.
|
|
353
|
+
*
|
|
354
|
+
* ## usage
|
|
355
|
+
*
|
|
356
|
+
* Use this helper function once your concrete handler has parsed the
|
|
357
|
+
* domainAddr from the request url.
|
|
358
|
+
*
|
|
359
|
+
* For example, say the incoming path is /api/ibgib/:domainAddr/:ibgibAddr (GET)
|
|
360
|
+
* Then the concrete handler for this path would pull out domainAddr, call
|
|
361
|
+
* this function to build the domain info, and then put that domain info on
|
|
362
|
+
* the `reqCtx`.
|
|
363
|
+
*/
|
|
364
|
+
getDomainInfo({ domainAddr,
|
|
365
|
+
// dataDir,
|
|
366
|
+
}) {
|
|
367
|
+
const lc = `${this.lc}[${this.getDomainInfo.name}]`;
|
|
368
|
+
try {
|
|
369
|
+
if (logalot) {
|
|
370
|
+
console.log(`${lc} starting... (I: 2d8bc8f40fd8ae3c98b84f6aaf6e0f26)`);
|
|
371
|
+
}
|
|
372
|
+
if (!domainAddr) {
|
|
373
|
+
throw new Error(`(UNEXPECTED) domainAddr falsy? (E: 7009f98fead9712cb5d4c8985162c826)`);
|
|
374
|
+
}
|
|
375
|
+
const domainGibInfo = getGibInfo({ ibGibAddr: domainAddr });
|
|
376
|
+
const { tjpGib, punctiliarHash } = domainGibInfo;
|
|
377
|
+
const { ib: domainIb, gib: domainGib } = getIbAndGib({ ibGibAddr: domainAddr });
|
|
378
|
+
const finalDomainGib = tjpGib || punctiliarHash;
|
|
379
|
+
if (!finalDomainGib) {
|
|
380
|
+
throw new Error(`(UNEXPECTED) finalDomainGib falsy? we have a domainAddr (${domainAddr}) so we should have a domain gib. (E: de1e18078678f3b4887ebfae3c893626)`);
|
|
381
|
+
}
|
|
382
|
+
const domainInfo = {
|
|
383
|
+
addr: domainAddr,
|
|
384
|
+
gib: domainGib,
|
|
385
|
+
ib: domainIb,
|
|
386
|
+
gibInfo: domainGibInfo,
|
|
387
|
+
// rootPath: getDomainRootPath(finalDomainGib, dataDir),
|
|
388
|
+
};
|
|
389
|
+
return domainInfo;
|
|
390
|
+
}
|
|
391
|
+
catch (error) {
|
|
392
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
393
|
+
throw error;
|
|
394
|
+
}
|
|
395
|
+
finally {
|
|
396
|
+
if (logalot) {
|
|
397
|
+
console.log(`${lc} complete.`);
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
//# sourceMappingURL=handler-base.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler-base.mjs","sourceRoot":"","sources":["../../../src/serve-gib/handlers/handler-base.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAElF,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,EAAE,wBAAwB,EAAqB,MAAM,yBAAyB,CAAC;AAEtF,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,OAAgB,mBAAmB;IAE3B,EAAE,GAAW,IAAI,mBAAmB,CAAC,IAAI,GAAG,CAAC;IAQvD;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,MAA6C;QAC3D,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC;QAClD,IAAI,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;YAAC,CAAC;YAExF,kCAAkC;YAClC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,IAAI,OAAO,EAAE,CAAC;oBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,kFAAkF,CAAC,CAAC;gBAAC,CAAC;gBACtH,OAAO,SAAS,CAAC,CAAC,wBAAwB;YAC9C,CAAC;YAED,gEAAgE;YAChE,8BAA8B;YAC9B,MAAM,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAE/C,sBAAsB;YACtB,MAAM,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAEzD,sDAAsD;YACtD,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAEvC,6BAA6B;YAC7B,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAE9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,GAAG,EAAE,0BAA0B,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YACrE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpB,2GAA2G;YAC3G,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,uBAAuB,EAAE;gBAC5C,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM;gBACzB,MAAM,EAAE,MAAM,EAAE,MAAM;aACzB,CAAC,CAAC;QACP,CAAC;gBAAS,CAAC;YACP,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAAC,CAAC;QACpD,CAAC;IACL,CAAC;IASD;;;;OAIG;IACH,WAAW,CAAC,MAA6C;QACrD,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC;QAClD,IAAI,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;YAAC,CAAC;YACxF,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAAC,CAAC;QACpD,CAAC;IACL,CAAC;IACD;;;;OAIG;IACO,KAAK,CAAC,eAAe,CAAC,MAA6C;QACzE,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC;QACtD,IAAI,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;YAAC,CAAC;YAExF,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,wFAAwF,CAAC,CAAC;YAAC,CAAC;YAE5H,OAAO,SAAS,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,mBAAmB,CAAC,MAA6C;QAC7E,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC;QAC1D,IAAI,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAAC,CAAC;YAElD,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,kDAAkD,CAAC,CAAC;YAAC,CAAC;QAC1F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACO,cAAc,CAAC,MAA6C;QAClE,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC;QACrD,IAAI,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;YAAC,CAAC;YAExF,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;YAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtD,OAAO,aAAa,IAAI,YAAY,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,gBAAgB,CAAC,MAA6C;QAC1E,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC;QACvD,IAAI,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;YAAC,CAAC;YAExF,MAAM,WAAW,GAAQ,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC3C,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,iEAAiE;gBACjE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;gBACzE,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChC,OAAO,WAA2B,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,KAAK,CAAC,2CAA2C,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;gBACpI,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,wBAAwB;gBACxB,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,mBAAmB,CAAC,EAAE,WAAW,EAAwB;QACrE,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC;QAC1D,IAAI,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;YAAC,CAAC;YAExF,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,kHAAkH,CAAC,CAAC;YAAC,CAAC;YAEtJ,OAAO,EAAE,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAED;;OAEG;IACO,EAAE,CAAC,IAAS,EAAE,MAAM,GAAW,GAAG;QACxC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,MAAc,EAAE,OAAe,EAAE,OAAa;QAC1D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACvE,CAAC;IAED;;OAEG;IACO,QAAQ,CAAC,OAAO,GAAW,WAAW;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;CACJ;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,OAAgB,gCAClB,SAAQ,mBAA0C;IAC/B,EAAE,GAAW,IAAI,gCAAgC,CAAC,IAAI,GAAG,CAAC;IAE1D,KAAK,CAAC,mBAAmB,CAAC,MAA6C;QACtF,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC;QAC1D,IAAI,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAAC,CAAC;YAElD,MAAM,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAEkB,eAAe,CAAC,MAA6C;QAC5E,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC;QACtD,IAAI,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;YAAC,CAAC;YAExF,MAAM,IAAI,KAAK,CAAC,0UAA0U,CAAC,CAAC;QAChW,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAEkB,mBAAmB,CAAC,EAAE,WAAW,EAAyB;QACzE,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC;QAC1D,IAAI,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;YAAC,CAAC;YAExF,MAAM,IAAI,KAAK,CAAC,wRAAwR,CAAC,CAAC;QAE9S,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,4BAA4B,CAAC,MAA6C;QACtF,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,4BAA4B,CAAC,IAAI,GAAG,CAAC;QACnE,IAAI,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAAC,CAAC;YAElD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,iIAAiI,CAAC,CAAC;YAAC,CAAC;YAC3K,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,2LAA2L,CAAC,CAAC;YAAC,CAAC;YAEhP,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,MAAiB,CAAA;YAC/C,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,GAAG,UAAU,CAAC;YACzC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,+QAA+Q,CAAC,CAAC;YACrS,CAAC;YAED,sFAAsF;YACtF,MAAM,CAAC,SAAS,GAAG,MAAM,wBAAwB,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAClF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;OAYG;IACO,aAAa,CAAC,EACpB,UAAU;IACV,WAAW;MAUd;QACG,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC;QACpD,IAAI,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;YAAC,CAAC;YAExF,IAAI,CAAC,UAAU,EAAE,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;YAAC,CAAC;YAE7G,MAAM,aAAa,GAAG,UAAU,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;YAC5D,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,aAAa,CAAC;YACjD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;YAChF,MAAM,cAAc,GAAG,MAAM,IAAI,cAAc,CAAC;YAChD,IAAI,CAAC,cAAc,EAAE,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,4DAA4D,UAAU,yEAAyE,CAAC,CAAC;YAAC,CAAC;YAE1L,MAAM,UAAU,GAAe;gBAC3B,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,SAAS;gBACd,EAAE,EAAE,QAAQ;gBACZ,OAAO,EAAE,aAAa;gBACtB,wDAAwD;aAC3D,CAAA;YAED,OAAO,UAAU,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,IAAI,OAAO,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAAC,CAAC;QACpD,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module serve-gib/handlers/static-handler
|
|
3
|
+
*
|
|
4
|
+
* Handler for serving static client assets and SPA fallback.
|
|
5
|
+
*/
|
|
6
|
+
import { ServeGibHandlerBase } from './handler-base.mjs';
|
|
7
|
+
import { RequestContext, ResponseResult, ServeGibHttpMethod } from '../types.mjs';
|
|
8
|
+
export declare class StaticFileHandler extends ServeGibHandlerBase {
|
|
9
|
+
private clientDir;
|
|
10
|
+
protected lc: string;
|
|
11
|
+
protected method: ServeGibHttpMethod;
|
|
12
|
+
protected regex: RegExp;
|
|
13
|
+
private MIME_TYPES;
|
|
14
|
+
constructor(clientDir: string);
|
|
15
|
+
protected handleRouteImpl(reqCtx: RequestContext): Promise<ResponseResult | undefined>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=static-handler.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static-handler.d.mts","sourceRoot":"","sources":["../../../src/serve-gib/handlers/static-handler.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAMlF,qBAAa,iBAAkB,SAAQ,mBAAmB;IAsB1C,OAAO,CAAC,SAAS;IArB7B,UAAmB,EAAE,EAAE,MAAM,CAAiC;IAC9D,UAAmB,MAAM,EAAE,kBAAkB,CAAS;IACtD,UAAmB,KAAK,SAAQ;IAEhC,OAAO,CAAC,UAAU,CAehB;IAEF,YAAoB,SAAS,EAAE,MAAM,EAAc;IAEnD,UAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAwC3F;CACJ"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module serve-gib/handlers/static-handler
|
|
3
|
+
*
|
|
4
|
+
* Handler for serving static client assets and SPA fallback.
|
|
5
|
+
*/
|
|
6
|
+
import { readFile } from 'node:fs/promises';
|
|
7
|
+
import { existsSync, statSync } from 'node:fs';
|
|
8
|
+
import { join, extname } from 'node:path';
|
|
9
|
+
import { ServeGibHandlerBase } from './handler-base.mjs';
|
|
10
|
+
import { isValidStaticPath } from '../path-helper.mjs';
|
|
11
|
+
import { GLOBAL_LOG_A_LOT } from '../constants.mjs';
|
|
12
|
+
const logalot = GLOBAL_LOG_A_LOT;
|
|
13
|
+
export class StaticFileHandler extends ServeGibHandlerBase {
|
|
14
|
+
clientDir;
|
|
15
|
+
lc = `[${StaticFileHandler.name}]`;
|
|
16
|
+
method = 'GET';
|
|
17
|
+
regex = /.*/;
|
|
18
|
+
MIME_TYPES = {
|
|
19
|
+
'.html': 'text/html; charset=utf-8',
|
|
20
|
+
'.css': 'text/css; charset=utf-8',
|
|
21
|
+
'.js': 'text/javascript; charset=utf-8',
|
|
22
|
+
'.mjs': 'text/javascript; charset=utf-8',
|
|
23
|
+
'.json': 'application/json; charset=utf-8',
|
|
24
|
+
'.png': 'image/png',
|
|
25
|
+
'.jpg': 'image/jpeg',
|
|
26
|
+
'.jpeg': 'image/jpeg',
|
|
27
|
+
'.svg': 'image/svg+xml',
|
|
28
|
+
'.ico': 'image/x-icon',
|
|
29
|
+
'.woff': 'font/woff',
|
|
30
|
+
'.woff2': 'font/woff2',
|
|
31
|
+
'.ttf': 'font/ttf',
|
|
32
|
+
'.webp': 'image/webp',
|
|
33
|
+
};
|
|
34
|
+
constructor(clientDir) {
|
|
35
|
+
super();
|
|
36
|
+
this.clientDir = clientDir;
|
|
37
|
+
}
|
|
38
|
+
async handleRouteImpl(reqCtx) {
|
|
39
|
+
const lc = `${this.lc}[${this.handleRouteImpl.name}]`;
|
|
40
|
+
try {
|
|
41
|
+
if (logalot) {
|
|
42
|
+
console.log(`${lc} starting...`);
|
|
43
|
+
}
|
|
44
|
+
// Hardened path validation
|
|
45
|
+
const { pathname } = reqCtx;
|
|
46
|
+
if (pathname.startsWith('/api/')) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
if (!isValidStaticPath(pathname)) {
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
let filePath = join(this.clientDir, pathname);
|
|
53
|
+
// Directory → index.html
|
|
54
|
+
if (existsSync(filePath) && statSync(filePath).isDirectory()) {
|
|
55
|
+
filePath = join(filePath, 'index.html');
|
|
56
|
+
}
|
|
57
|
+
// File not found → SPA fallback
|
|
58
|
+
if (!existsSync(filePath)) {
|
|
59
|
+
filePath = join(this.clientDir, 'index.html');
|
|
60
|
+
}
|
|
61
|
+
// Final check just in case the fallback doesn't exist
|
|
62
|
+
if (!existsSync(filePath)) {
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
const content = await readFile(filePath);
|
|
66
|
+
const ext = extname(filePath).toLowerCase();
|
|
67
|
+
const contentType = this.MIME_TYPES[ext] ?? 'application/octet-stream';
|
|
68
|
+
return {
|
|
69
|
+
status: 200,
|
|
70
|
+
headers: { 'Content-Type': contentType },
|
|
71
|
+
body: content
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
console.error(`${lc} ${error.message}`);
|
|
76
|
+
throw error;
|
|
77
|
+
}
|
|
78
|
+
finally {
|
|
79
|
+
if (logalot) {
|
|
80
|
+
console.log(`${lc} complete.`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=static-handler.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static-handler.mjs","sourceRoot":"","sources":["../../../src/serve-gib/handlers/static-handler.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module handlers/ws/sync-upgrade-handler-base
|
|
3
|
+
*
|
|
4
|
+
* Highly generic, reusable base class in serve-gib for handling WebSocket upgrades,
|
|
5
|
+
* mapping socket streams to isomorphic SyncPeers, and checking upfront connect handshakes.
|
|
6
|
+
*/
|
|
7
|
+
import { Socket } from 'node:net';
|
|
8
|
+
import { ServeGibHandlerWithMetaspaceBase } from '../handler-base.mjs';
|
|
9
|
+
import { ParamsWithDomain, RequestContext, ResponseResult, ServeGibHttpMethod } from '../../types.mjs';
|
|
10
|
+
export interface SyncChannelQueryParams {
|
|
11
|
+
sAddr: string;
|
|
12
|
+
solution: string;
|
|
13
|
+
}
|
|
14
|
+
export interface SyncChannelRequestContext extends RequestContext<ParamsWithDomain, SyncChannelQueryParams> {
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Reusable server-side upgrade handler plumbing.
|
|
18
|
+
* Binds raw node socket streams to platform-agnostic receiver peers.
|
|
19
|
+
*/
|
|
20
|
+
export declare abstract class SyncUpgradeHandlerBase extends ServeGibHandlerWithMetaspaceBase<ParamsWithDomain, SyncChannelQueryParams> {
|
|
21
|
+
protected lc: string;
|
|
22
|
+
protected method: ServeGibHttpMethod;
|
|
23
|
+
/**
|
|
24
|
+
* Entry point for WebSocket upgrades.
|
|
25
|
+
* Orchestrates the upgrade, upfront validation, and registers the Receiver peer.
|
|
26
|
+
*/
|
|
27
|
+
handleUpgrade(reqCtx: RequestContext<ParamsWithDomain>, socket: Socket, head: Buffer): Promise<boolean>;
|
|
28
|
+
protected parseParamsImpl(reqCtx: RequestContext<ParamsWithDomain>): Promise<ParamsWithDomain | undefined>;
|
|
29
|
+
protected parseQueryParams(reqCtx: RequestContext<ParamsWithDomain, SyncChannelQueryParams>): Promise<SyncChannelQueryParams | undefined>;
|
|
30
|
+
protected validateQueryParams({ queryParams }: {
|
|
31
|
+
queryParams: any;
|
|
32
|
+
}): Promise<string[]>;
|
|
33
|
+
protected handleRouteImpl(reqCtx: RequestContext<ParamsWithDomain>): Promise<ResponseResult | undefined>;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=sync-upgrade-handler-base.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-upgrade-handler-base.d.mts","sourceRoot":"","sources":["../../../../src/serve-gib/handlers/ws/sync-upgrade-handler-base.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAclC,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAIvG,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAA0B,SAAQ,cAAc,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;CAC1G;AAED;;;GAGG;AACH,8BAAsB,sBAAuB,SAAQ,gCAAgC,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;IAC3H,UAAmB,EAAE,EAAE,MAAM,CAAsC;IACnE,UAAmB,MAAM,EAAE,kBAAkB,CAAS;IAEtD;;;OAGG;IACG,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAqH5G;IAED,UAAyB,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAUxH;IAED,UAAyB,gBAAgB,CACrC,MAAM,EAAE,cAAc,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,GACjE,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAkB7C;IAED,UAAyB,mBAAmB,CAAC,EAAE,WAAW,EAAE,EAAE;QAAE,WAAW,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA2BrG;IAED,UAAyB,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAEtH;CACJ"}
|