gina 0.7.0 → 0.7.1
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/CHANGELOG.md +39 -0
- package/README.md +45 -61
- package/ROADMAP.md +3 -2
- package/bin/cli +5 -2
- package/bin/gina +10 -25
- package/framework/v0.7.1/VERSION +1 -0
- package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +21 -8
- package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/dist/vendor/gina/js/gina.js +8 -11
- package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/dist/vendor/gina/js/gina.min.js +160 -160
- package/framework/v0.7.1/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.7.1/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- package/framework/{v0.7.0 → v0.7.1}/core/config.js +10 -1
- package/framework/{v0.7.0 → v0.7.1}/core/controller/controller.js +67 -15
- package/framework/{v0.7.0 → v0.7.1}/core/router.js +68 -8
- package/framework/{v0.7.0 → v0.7.1}/core/server.isaac.js +183 -45
- package/framework/{v0.7.0 → v0.7.1}/core/server.js +173 -55
- package/framework/{v0.7.0 → v0.7.1}/helpers/context.js +93 -32
- package/framework/{v0.7.0 → v0.7.1}/helpers/path.js +61 -43
- package/framework/{v0.7.0 → v0.7.1}/helpers/task.js +47 -35
- package/framework/v0.7.1/lib/admin/src/main.js +451 -0
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/add.js +24 -0
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/copy.js +14 -0
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/help.txt +11 -0
- package/framework/v0.7.1/lib/cmd/bundle/inc/boot-lines.js +263 -0
- package/framework/v0.7.1/lib/cmd/bundle/inc/name.js +70 -0
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/remove.js +8 -2
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/rename.js +14 -0
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/start.js +47 -12
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/stop.js +64 -8
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/env/remove.js +7 -2
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/add.js +37 -2
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/build.js +20 -5
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/dot.js +10 -4
- package/framework/v0.7.1/lib/cmd/framework/inc/ps-titles.js +113 -0
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/init.js +7 -2
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/link.js +10 -2
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/open.js +30 -6
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/restart.js +24 -69
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/start.js +6 -24
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/status.js +44 -25
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/tail.js +1 -1
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/helper.js +56 -13
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/inspector/help.txt +2 -1
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/inspector/open.js +93 -30
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/minion/kill.js +52 -25
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/port/list.js +15 -6
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/port/reset.js +11 -2
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/project/add.js +50 -1
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/project/help.txt +8 -8
- package/framework/v0.7.1/lib/cmd/project/inc/name.js +71 -0
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/project/remove.js +5 -1
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/project/rename.js +12 -0
- package/framework/v0.7.1/lib/cmd/project/restart.js +126 -0
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/project/restore.js +19 -0
- package/framework/v0.7.1/lib/cmd/project/start.js +125 -0
- package/framework/v0.7.1/lib/cmd/project/stop.js +98 -0
- package/framework/{v0.7.0 → v0.7.1}/lib/cmd/protocol/set.js +7 -2
- package/framework/{v0.7.0 → v0.7.1}/lib/inherits/src/main.js +8 -11
- package/framework/{v0.7.0 → v0.7.1}/lib/maintenance/src/main.js +3 -2
- package/framework/{v0.7.0 → v0.7.1}/lib/metrics/src/main.js +30 -6
- package/framework/{v0.7.0 → v0.7.1}/lib/shell.js +58 -25
- package/framework/{v0.7.0 → v0.7.1}/package.json +1 -1
- package/gna.js +4 -4
- package/llms.txt +13 -13
- package/package.json +4 -4
- package/schema/app.json +3 -3
- package/script/post_install.js +20 -2
- package/script/pre_install.js +31 -6
- package/utils/helper.js +21 -9
- package/framework/v0.7.0/VERSION +0 -1
- package/framework/v0.7.0/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.7.0/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- package/framework/v0.7.0/lib/admin/src/main.js +0 -217
- package/framework/v0.7.0/lib/cmd/project/restart.js +0 -85
- package/framework/v0.7.0/lib/cmd/project/start.js +0 -85
- package/framework/v0.7.0/lib/cmd/project/stop.js +0 -66
- /package/framework/{v0.7.0 → v0.7.1}/AUTHORS +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/LICENSE +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/html/static.html +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/config.requirements-anchor.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/ai/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/ai/lib/connector.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/couchbase/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/couchbase/lib/connector.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/couchbase/lib/connector.v4.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/couchbase/lib/n1ql.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/couchbase/lib/session-store.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/couchbase/lib/storage-store.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/duckdb/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/duckdb/lib/connector.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/mongodb/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/mongodb/lib/connector.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/mongodb/lib/job-store.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/mongodb/lib/session-store.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/mysql/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/mysql/lib/connector.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/param-redact.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/postgresql/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/postgresql/lib/connector.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/redis/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/redis/lib/connector.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/redis/lib/job-store.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/redis/lib/kv-store.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/redis/lib/render-cache-store.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/redis/lib/session-store.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/scylladb/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/scylladb/lib/connector.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/scylladb/lib/session-store.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/settle-once.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/sql-parser.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/sqlite/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/sqlite/lib/connector.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/sqlite/lib/job-store.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/sqlite/lib/kv-store.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/connectors/sqlite/lib/session-store.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/content.encoding +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/controller/controller.render-json.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/controller/controller.render-nunjucks-async.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/controller/controller.render-nunjucks.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/controller/controller.render-stream.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/controller/controller.render-swig-async.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/controller/controller.render-swig.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/controller/controller.render-v1.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/controller/controller.render-xml.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/controller/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/controller/inline-script.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/controller/inspector-window-emit.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/controller/release-banner.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/dev/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/dev/lib/class.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/dev/lib/factory.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/gna.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/locales/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/locales/currency.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/locales/dist/region/en.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/locales/dist/region/fr.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/locales/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/mime.types +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/model/entity.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/model/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/model/template/entityFactory.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/model/template/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/csrf/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/csrf/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/csrf/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/coep/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/coep/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/coop/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/coop/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/corp/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/corp/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/csp/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/csp/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/csp/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/hide-powered-by/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/hsts/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/hsts/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/session/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/session/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/session/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/storage/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/storage/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/validator/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/validator/src/form-validator.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/plugins/lib/validator/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/server.express.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/server.isaac.rapid-reset.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/server.route-candidates.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/status.codes +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/_gitignore +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle/config/connectors.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle/config/settings.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle/config/templates.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle/config/watchers.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle/locales/en.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle_public/css/home.css +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle_public/js/components/x-checklist.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle_public/sw.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle_templates/html/includes/x-checklist.html +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/command/gina.bat.tpl +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/command/gina.tpl +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/conf/env.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/conf/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/conf/settings.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/conf/statics.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/conf/templates.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/helpers/console.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/helpers/data/LICENSE +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/helpers/data/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/helpers/data/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/helpers/data/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/helpers/dateFormat.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/helpers/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/helpers/json/LICENSE +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/helpers/json/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/helpers/json/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/helpers/json/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/helpers/plugins/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/helpers/plugins/src/api-error.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/helpers/plugins/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/helpers/prototypes.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/helpers/text.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/admin/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/archiver/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/archiver/build.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/archiver/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/archiver/src/dep/jszip.min.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/archiver/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/async/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/async/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/audit/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/audit/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/audit-store.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/authn/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/authn/src/lockout.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/authn/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/authn/src/totp.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/authz-gate/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/authz-gate/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cache/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cache/build.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cache/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cache/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/aliases.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/audit/arguments.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/audit/help.txt +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/audit/verify.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/arguments.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/build.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/inc/name-rewrite.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/list.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/man.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/mcp-start.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/mcp.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/oas.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/openapi.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/status.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/bundle/types.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/cache/arguments.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/cache/clear.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/cache/help.txt +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/cache/stats.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/connector/add.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/connector/arguments.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/connector/help.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/connector/help.txt +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/connector/infer.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/connector/list.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/connector/migrate.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/connector/models.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/connector/remove.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/connector/rm.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/connector/test.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/container/arguments.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/container/help.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/container/help.txt +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/container/man.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/container/ps.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/container/stop.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/controller/add.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/controller/arguments.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/controller/help.txt +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/controller/inc/args.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/controller/inc/namespace.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/controller/inc/reference-rewrite.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/controller/inc/reference-scan.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/controller/inc/scaffold.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/controller/remove.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/controller/rename.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/controller/rm.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/env/add.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/env/get.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/env/help.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/env/inc/name.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/env/list.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/env/use.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/arguments.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/help.txt +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/link-node-modules.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/list.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/man.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/remove.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/reset.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/set.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/stop.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/framework/version.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/gina-framework.1.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/i18n/add.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/i18n/arguments.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/i18n/export.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/i18n/help.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/i18n/help.txt +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/i18n/import.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/i18n/scan.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/image/_host.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/image/arguments.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/image/build.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/image/help.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/image/help.txt +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/image/list.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/image/man.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/image/rm.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/image/run.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/inspector/help.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/man-render.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/minion/arguments.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/minion/help.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/minion/help.txt +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/minion/list.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/port/inc/scan.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/port/set.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/project/arguments.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/project/backup.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/project/build.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/project/list.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/project/man.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/project/status.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/protocol/arguments.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/protocol/list.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/protocol/remove.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/scope/add.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/scope/inc/name.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/scope/link-production.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/scope/list.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/scope/remove.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/scope/use.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/secrets/arguments.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/secrets/check.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/secrets/help.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/secrets/help.txt +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/secrets/scan.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/service/help.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/service/help.txt +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/service/list.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/service/man.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/service/start.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/storage/arguments.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/storage/gc.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/storage/help.txt +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/storage/stats.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/storage/verify.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd/view/add.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd-status-format/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cmd-status-format/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/collection/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/collection/build.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/collection/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/collection/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/conf-view/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/conf-view/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/config.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/connector-config/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/connector-config/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/connector-error/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/connector-error/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/connector-registry/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/connector-registry/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cron/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cron/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/cron/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/domain/LICENSE +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/domain/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/domain/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/domain/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/dto/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/dto/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/dto-pipe/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/dto-pipe/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/dto-types/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/dto-types/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/duration/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/duration/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/generator/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/i18n/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/i18n/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/idempotency/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/idempotency/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/image-build/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/image-build/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/inherits/LICENSE +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/inherits/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/inherits/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/inspector-events/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/inspector-events/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/inspector-redact/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/inspector-redact/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/instrument/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/instrument/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/job/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/job/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/job-store.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/json-config-header/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/json-config-header/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/kv/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/kv/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/kv-store.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/loading-state/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/loading-state/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/logger/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/logger/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/logger/src/containers/default/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/logger/src/containers/file/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/logger/src/containers/mq/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/logger/src/containers/mq/listener.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/logger/src/containers/mq/speaker.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/logger/src/helper.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/logger/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/logger/src/redact.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/maintenance/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/math/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/mcp-dispatch/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/mcp-dispatch/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/mcp-http/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/mcp-http/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/mcp-server/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/mcp-server/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/merge/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/merge/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/merge/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/message-validator/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/message-validator/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/metrics/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/model.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/money/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/money/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/multipart/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/multipart/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/net-locality/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/net-locality/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/nunjucks-filters/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/nunjucks-filters/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/nunjucks-filters/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/nunjucks-resolver/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/nunjucks-resolver/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/priority/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/priority/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/proc.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/push/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/push/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/rate-limit/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/rate-limit/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/release-watch/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/release-watch/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/render-cache/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/render-cache/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/render-cache-store.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/routing/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/routing/build.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/routing/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/routing/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/routing-introspect/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/routing-introspect/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/secrets/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/secrets/src/backends/env.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/secrets/src/backends/exec.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/secrets/src/backends/file.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/secrets/src/declaration.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/secrets/src/env-file.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/secrets/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/secrets/src/sources.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/security-headers-emitter/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/security-headers-emitter/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/session-lifetime/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/session-lifetime/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/session-store.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/sqlite-driver.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/sri/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/sri/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/state.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/storage/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/storage/src/local-cas.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/storage/src/local-stream.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/storage/src/local.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/storage/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/storage/src/meta-store.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/storage/src/s3.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/storage/src/util.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/storage-store.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/swig-filters/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/swig-filters/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/swig-filters/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/swig-resolver/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/swig-resolver/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/template-loaders/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/template-loaders/src/loaders/http.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/template-loaders/src/loaders/memory.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/template-loaders/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/url/README.md +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/url/index.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/url/routing.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/uuid/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/uuid/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/validator.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/watcher/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/watcher/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/ws-framing/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/ws-framing/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/ws-query/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/ws-query/src/main.js +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/ws-session/package.json +0 -0
- /package/framework/{v0.7.0 → v0.7.1}/lib/ws-session/src/main.js +0 -0
|
@@ -677,7 +677,9 @@ function _instrumentKeyValid(req) {
|
|
|
677
677
|
* BOTH engines (the isaac instance IS the raw server; express's `app.listen()`
|
|
678
678
|
* returns it), so one `upgrade` listener here covers both. There is deliberately
|
|
679
679
|
* NO isaac-specific mirror — the isaac engine.io upgrade handler defers to this
|
|
680
|
-
* one via a `/_gina/agent` skip-guard (see server.isaac.js).
|
|
680
|
+
* one via a `/_gina/agent` skip-guard (see server.isaac.js). Both match
|
|
681
|
+
* `/_gina/agent` on the url's PATH, never its query string (#B712): an upgrade to
|
|
682
|
+
* a page url whose query ends in the agent path is not the agent's.
|
|
681
683
|
*
|
|
682
684
|
* Auth parity with the SSE endpoint: dev stays open + keyless; outside dev the
|
|
683
685
|
* upgrade requires a valid key (`x-gina-inspector-key` header or `?key=` query
|
|
@@ -724,7 +726,7 @@ function attachInspectorAgentWs(rawServer, ctx) {
|
|
|
724
726
|
rawServer.on('upgrade', function(req, socket, head) {
|
|
725
727
|
// Only handle the agent WS path; leave every other upgrade (e.g.
|
|
726
728
|
// engine.io in ioServer-attach mode) for its own listener.
|
|
727
|
-
if (!/\/_gina\/agent(?:\?|$)/.test(req.url
|
|
729
|
+
if (!/\/_gina\/agent(?:\?|$)/.test(req.url ? req.url.split('?')[0] : '')) { return; }
|
|
728
730
|
|
|
729
731
|
var _agIsDev = (process.env.NODE_ENV_IS_DEV && process.env.NODE_ENV_IS_DEV.toLowerCase() === 'true');
|
|
730
732
|
|
|
@@ -843,6 +845,9 @@ function attachInspectorAgentWs(rawServer, ctx) {
|
|
|
843
845
|
* populated it; otherwise drains the request stream (works for HTTP/1.1
|
|
844
846
|
* IncomingMessage and HTTP/2 Http2ServerRequest). A 2s timeout guards against
|
|
845
847
|
* an already-consumed stream that never re-fires `end`. Calls back exactly once.
|
|
848
|
+
* Accepts Buffer and string chunks: a request whose encoding was set emits strings
|
|
849
|
+
* (core/server.js calls `request.setEncoding` for every non-multipart request), which
|
|
850
|
+
* are turned back into bytes so the cap counts bytes and the read cannot throw (#B714).
|
|
846
851
|
*
|
|
847
852
|
* @inner
|
|
848
853
|
* @param {http.IncomingMessage|http2.Http2ServerRequest} req
|
|
@@ -867,6 +872,12 @@ function _readInstrumentBody(req, cb) {
|
|
|
867
872
|
_timer = setTimeout(function() { _finish(new Error('body read timeout')); }, 2000);
|
|
868
873
|
if (_timer && typeof _timer.unref === 'function') { _timer.unref(); }
|
|
869
874
|
req.on('data', function(chunk) {
|
|
875
|
+
// #B714 — a request whose encoding was set emits strings (core/server.js onInstance
|
|
876
|
+
// calls request.setEncoding for every non-multipart request): turn a string back into
|
|
877
|
+
// bytes, so the cap counts bytes and Buffer.concat below accepts every chunk.
|
|
878
|
+
if ( typeof(chunk) == 'string' ) {
|
|
879
|
+
chunk = Buffer.from(chunk, req.readableEncoding || 'utf8');
|
|
880
|
+
}
|
|
870
881
|
_size += chunk.length;
|
|
871
882
|
if (_size > _MAX) {
|
|
872
883
|
_finish(new Error('body too large'));
|
|
@@ -876,7 +887,14 @@ function _readInstrumentBody(req, cb) {
|
|
|
876
887
|
_chunks.push(chunk);
|
|
877
888
|
});
|
|
878
889
|
req.on('end', function() {
|
|
879
|
-
|
|
890
|
+
// #B714 — a throw here escapes as an uncaughtException and stops the bundle:
|
|
891
|
+
// answer it through the callback.
|
|
892
|
+
var _raw;
|
|
893
|
+
try {
|
|
894
|
+
_raw = Buffer.concat(_chunks).toString('utf8').trim();
|
|
895
|
+
} catch (e) {
|
|
896
|
+
return _finish(e);
|
|
897
|
+
}
|
|
880
898
|
if (!_raw) return _finish(null, {});
|
|
881
899
|
try { _finish(null, JSON.parse(_raw)); }
|
|
882
900
|
catch (e) { _finish(new Error('invalid JSON body')); }
|
|
@@ -1355,6 +1373,10 @@ function Server(options) {
|
|
|
1355
1373
|
|
|
1356
1374
|
serverOpt.port = self.conf[self.appName][self.env].server.port = portsReverse[ self.appName +'@'+ self.projectName ][self.env][serverOpt.protocol][serverOpt.scheme];
|
|
1357
1375
|
self.conf[self.appName][self.env].server.debugPort = getContext().debugPort;
|
|
1376
|
+
// #B709 — isaac matches its admin-gated /_gina/* handlers on the control
|
|
1377
|
+
// path (lib.admin.controlPath), which accepts the bundle's OWN webroot
|
|
1378
|
+
// form: hand it the normalised webroot (`/x/`), not the raw settings value.
|
|
1379
|
+
serverOpt.webroot = options.conf[self.appName][self.env].server.webroot;
|
|
1358
1380
|
|
|
1359
1381
|
// engine.io options
|
|
1360
1382
|
if ( ioServerOpt ) {
|
|
@@ -2881,15 +2903,16 @@ function Server(options) {
|
|
|
2881
2903
|
* @returns {boolean}
|
|
2882
2904
|
*/
|
|
2883
2905
|
var hasViews = function(bundle) {
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2906
|
+
// memo first: the Config is resolved only to fill the memo, once per bundle
|
|
2907
|
+
// (it was constructed before the check, on every call — phase-2 per-request
|
|
2908
|
+
// trims, slice E)
|
|
2887
2909
|
if (typeof(local.hasViews[bundle]) != 'undefined') {
|
|
2888
|
-
|
|
2889
|
-
} else {
|
|
2890
|
-
_hasViews = ( typeof(conf.envConf[bundle][self.env].content['templates']) != 'undefined' ) ? true : false;
|
|
2891
|
-
local.hasViews[bundle] = _hasViews;
|
|
2910
|
+
return local.hasViews[bundle];
|
|
2892
2911
|
}
|
|
2912
|
+
var conf = new Config().getInstance(bundle)
|
|
2913
|
+
, _hasViews = ( typeof(conf.envConf[bundle][self.env].content['templates']) != 'undefined' ) ? true : false
|
|
2914
|
+
;
|
|
2915
|
+
local.hasViews[bundle] = _hasViews;
|
|
2893
2916
|
|
|
2894
2917
|
return _hasViews
|
|
2895
2918
|
}
|
|
@@ -4144,7 +4167,7 @@ function Server(options) {
|
|
|
4144
4167
|
* name`), while a RegExp path bypasses string parsing on Express 4 AND 5,
|
|
4145
4168
|
* measured live-dispatching `/`, `/web/` and deep paths on both majors.
|
|
4146
4169
|
* Isaac KEEPS the string `'*'`: its request listener's dispatch gate is
|
|
4147
|
-
* `path === '*' || path == request.url`
|
|
4170
|
+
* `path === '*' || path == request.url` in server.isaac.js, so a
|
|
4148
4171
|
* RegExp there matches NOTHING and every request hangs without a
|
|
4149
4172
|
* response — measured, a deterministic container-boot timeout.
|
|
4150
4173
|
*
|
|
@@ -4215,6 +4238,14 @@ function Server(options) {
|
|
|
4215
4238
|
if ( typeof(request.priority) == 'undefined' ) {
|
|
4216
4239
|
request.priority = lib.priority.parse(request.headers['priority']);
|
|
4217
4240
|
}
|
|
4241
|
+
// #B709 — the proxy classification of a /_gina/* request, taken ONCE from
|
|
4242
|
+
// its pristine headers. Under isaac the listener top has already taken it
|
|
4243
|
+
// (before its h1 Host rewrite, which runs before this) and this skips; on
|
|
4244
|
+
// Express this claims. The admin and metrics allowlists read it. Keep the
|
|
4245
|
+
// two tops in sync.
|
|
4246
|
+
if ( (request.originalUrl || request.url).indexOf('/_gina/') > -1 ) {
|
|
4247
|
+
lib.admin.stampProxied(request);
|
|
4248
|
+
}
|
|
4218
4249
|
// #OBS1 slice 3 — HTTP request lifecycle hook for Prometheus metrics.
|
|
4219
4250
|
// Engine-agnostic mirror of the server.isaac.js hook. Gated on
|
|
4220
4251
|
// lib.metrics.isEnabled() so the listener is only wired when
|
|
@@ -4432,9 +4463,23 @@ function Server(options) {
|
|
|
4432
4463
|
// issues ZERO POSTs to /_gina/*, with a firing control (23 hits on
|
|
4433
4464
|
// /_gina/agent), so no shipped caller is broken by this.
|
|
4434
4465
|
//
|
|
4466
|
+
// #B708 — the URL test must match WHEREVER a write handler matches, or
|
|
4467
|
+
// that handler escapes the guard. Several handlers test the FULL url
|
|
4468
|
+
// unanchored (cache/clear, maintenance, instrument), so a path prefix
|
|
4469
|
+
// (`/web/_gina/…`, `//_gina/…`) and the endpoint path at the END of the
|
|
4470
|
+
// query string (`/?next=/_gina/maintenance`) both reached them, and
|
|
4471
|
+
// cache/clear, storage/* and release/* match in any case
|
|
4472
|
+
// (`/_GINA/storage/gc`). An anchored, case-sensitive test missed all of
|
|
4473
|
+
// those. So the guard looks for `/_gina/` anywhere in the full url, in
|
|
4474
|
+
// any case — a superset of every write handler on both engines, locked
|
|
4475
|
+
// by test/core/admin-write-guard-b708.test.js. Cost: a cross-origin,
|
|
4476
|
+
// non-safe BROWSER request to an app URL that merely contains `/_gina/`
|
|
4477
|
+
// (in its query, say) is refused too; same-origin and non-browser
|
|
4478
|
+
// clients are unaffected.
|
|
4479
|
+
//
|
|
4435
4480
|
// Keep in sync with the core/server.isaac.js twin.
|
|
4436
4481
|
if (
|
|
4437
|
-
|
|
4482
|
+
/\/_gina\//i.test(request.url)
|
|
4438
4483
|
&& !lib.admin.isSafeMethod(request.method)
|
|
4439
4484
|
&& lib.admin.isCrossOriginWrite(request)
|
|
4440
4485
|
) {
|
|
@@ -4445,24 +4490,48 @@ function Server(options) {
|
|
|
4445
4490
|
return response.end(JSON.stringify({ error: 'forbidden', message: 'cross-origin write to a /_gina/* control endpoint is refused' }));
|
|
4446
4491
|
}
|
|
4447
4492
|
|
|
4493
|
+
// #B709 — the admin-gated handlers below (metrics, info, cache/*,
|
|
4494
|
+
// maintenance) match this query-free path EXACTLY — the root form, or the
|
|
4495
|
+
// bundle's own webroot form — never the raw url: a nested endpoint path,
|
|
4496
|
+
// the endpoint path in a query string, another letter case or an empty
|
|
4497
|
+
// leading segment reaches none of them. storage/* and release/* stay
|
|
4498
|
+
// anchored on the url, case-sensitive, with no webroot form. Keep in sync
|
|
4499
|
+
// with the core/server.isaac.js twin.
|
|
4500
|
+
var _ginaCtlPath = lib.admin.controlPath(request.originalUrl || request.url, self.conf[self.appName][self.env].server.webroot);
|
|
4501
|
+
|
|
4448
4502
|
// ── /_gina/health/check — liveness probe (always-on, UNGATED) ───────────────
|
|
4449
|
-
// (MS2) Engine-agnostic mirror of the Isaac handler (server.isaac.js
|
|
4450
|
-
// GET
|
|
4451
|
-
// dev gate and no admin/metrics IP allowlist: it
|
|
4452
|
-
// liveness probes (kubelet, Docker HEALTHCHECK,
|
|
4453
|
-
// an allowlist would defeat the endpoint's
|
|
4454
|
-
// (setHeader/statusCode/end), NOT the Isaac
|
|
4455
|
-
// in sync with the isaac fast-path per the
|
|
4503
|
+
// (MS2) Engine-agnostic mirror of the Isaac handler (server.isaac.js, the
|
|
4504
|
+
// `_healthMethod` block). GET or HEAD, returns {status:"healthy", timestamp}.
|
|
4505
|
+
// Deliberately UNGATED — no dev gate and no admin/metrics IP allowlist: it
|
|
4506
|
+
// exposes no process state, and liveness probes (kubelet, Docker HEALTHCHECK,
|
|
4507
|
+
// LB) originate off-loopback, so an allowlist would defeat the endpoint's
|
|
4508
|
+
// purpose. Uses the express idiom (setHeader/statusCode/end), NOT the Isaac
|
|
4509
|
+
// stream / _setPoweredByHeader. Kept in sync with the isaac fast-path per the
|
|
4510
|
+
// /_gina/* built-in endpoint rule.
|
|
4511
|
+
// #B717 — a query string no longer misses the handler (`(?:\?|$)`, the idiom of the
|
|
4512
|
+
// instrument and agent handlers): on express request.url still carries it here.
|
|
4513
|
+
// #B718 — HEAD is answered too (a load balancer may probe with HEAD): the same
|
|
4514
|
+
// status and headers plus content-length, no body.
|
|
4515
|
+
// #B712 — `^[^?]*`: the endpoint path must end the url's PATH, so a page whose query
|
|
4516
|
+
// string ends in it (`/web/?next=/_gina/health/check`) is answered by the page. Any
|
|
4517
|
+
// prefix still reaches it (a probe under the webroot). jobs, instrument and the dev
|
|
4518
|
+
// endpoints carry the same anchor; the agent upgrade listener tests the query-free path.
|
|
4519
|
+
var _healthMethod = request.method.toUpperCase();
|
|
4456
4520
|
if (
|
|
4457
|
-
|
|
4458
|
-
&&
|
|
4521
|
+
( _healthMethod === 'GET' || _healthMethod === 'HEAD' )
|
|
4522
|
+
&& /^[^?]*\/_gina\/health\/check(?:\?|$)/i.test(request.url)
|
|
4459
4523
|
) {
|
|
4524
|
+
var _healthBody = JSON.stringify({ status: 'healthy', timestamp: new Date().toISOString() });
|
|
4460
4525
|
response.setHeader('content-type', 'application/json; charset=utf8');
|
|
4461
4526
|
response.setHeader('cache-control', 'no-cache, no-store, must-revalidate');
|
|
4462
4527
|
response.setHeader('pragma', 'no-cache');
|
|
4463
4528
|
response.setHeader('expires', '0');
|
|
4464
4529
|
response.statusCode = 200;
|
|
4465
|
-
|
|
4530
|
+
if ( _healthMethod === 'HEAD' ) {
|
|
4531
|
+
response.setHeader('content-length', Buffer.byteLength(_healthBody));
|
|
4532
|
+
return response.end();
|
|
4533
|
+
}
|
|
4534
|
+
return response.end(_healthBody);
|
|
4466
4535
|
}
|
|
4467
4536
|
|
|
4468
4537
|
// ── /_gina/assets/routing.json — client routing map (always-on, public) ─────
|
|
@@ -4477,7 +4546,9 @@ function Server(options) {
|
|
|
4477
4546
|
// onInstance response, so they are inherited, not re-set.
|
|
4478
4547
|
if (
|
|
4479
4548
|
request.method.toUpperCase() === 'GET'
|
|
4480
|
-
|
|
4549
|
+
// #B717 — `(?:\?|$)`: a query string no longer misses the handler (on
|
|
4550
|
+
// express request.url still carries it here)
|
|
4551
|
+
&& /\/_gina\/assets\/routing\.json(?:\?|$)/i.test(request.url)
|
|
4481
4552
|
&& self._clientRoutingAssets
|
|
4482
4553
|
) {
|
|
4483
4554
|
// #B65-twin — per-request proxied classification (keep in sync with
|
|
@@ -4523,7 +4594,7 @@ function Server(options) {
|
|
|
4523
4594
|
// loopback). 503 when metrics.enabled is false in app.json.
|
|
4524
4595
|
if (
|
|
4525
4596
|
request.method.toUpperCase() === 'GET'
|
|
4526
|
-
&&
|
|
4597
|
+
&& /^\/_gina\/metrics$/.test(_ginaCtlPath)
|
|
4527
4598
|
) {
|
|
4528
4599
|
if ( !lib.metrics.isClientAllowed(request) ) {
|
|
4529
4600
|
response.setHeader('content-type', 'application/json; charset=utf8');
|
|
@@ -4557,7 +4628,7 @@ function Server(options) {
|
|
|
4557
4628
|
// _h2Metrics is undefined here), so it degrades to omitted under Express.
|
|
4558
4629
|
if (
|
|
4559
4630
|
request.method.toUpperCase() === 'GET'
|
|
4560
|
-
&&
|
|
4631
|
+
&& /^\/_gina\/info$/.test(_ginaCtlPath)
|
|
4561
4632
|
) {
|
|
4562
4633
|
response.setHeader('content-type', 'application/json; charset=utf8');
|
|
4563
4634
|
response.setHeader('cache-control', 'no-cache, no-store, must-revalidate');
|
|
@@ -4592,7 +4663,7 @@ function Server(options) {
|
|
|
4592
4663
|
// self.instance._cached Map and returns its stats(); 403 JSON on deny.
|
|
4593
4664
|
if (
|
|
4594
4665
|
request.method.toUpperCase() === 'GET'
|
|
4595
|
-
&&
|
|
4666
|
+
&& /^\/_gina\/cache\/stats$/.test(_ginaCtlPath)
|
|
4596
4667
|
) {
|
|
4597
4668
|
response.setHeader('content-type', 'application/json; charset=utf8');
|
|
4598
4669
|
response.setHeader('cache-control', 'no-cache, no-store, must-revalidate');
|
|
@@ -4631,7 +4702,7 @@ function Server(options) {
|
|
|
4631
4702
|
// the CLI (gina cache:clear), not in-process.
|
|
4632
4703
|
if (
|
|
4633
4704
|
request.method.toUpperCase() === 'POST'
|
|
4634
|
-
&&
|
|
4705
|
+
&& /^\/_gina\/cache\/clear$/.test(_ginaCtlPath)
|
|
4635
4706
|
) {
|
|
4636
4707
|
response.setHeader('content-type', 'application/json; charset=utf8');
|
|
4637
4708
|
response.setHeader('cache-control', 'no-cache, no-store, must-revalidate');
|
|
@@ -4668,8 +4739,9 @@ function Server(options) {
|
|
|
4668
4739
|
// Returns lib.job.toStatusView (id + state + timestamps) — never the
|
|
4669
4740
|
// result / error payload (authenticated result retrieval goes through a
|
|
4670
4741
|
// user route via self.jobStatus). 404 for an unknown / malformed id.
|
|
4742
|
+
// #B712 — `^[^?]*`: the job path must be the url's path, never its query string.
|
|
4671
4743
|
var _ginaJobsMatch = (request.method.toUpperCase() === 'GET')
|
|
4672
|
-
? request.url.match(
|
|
4744
|
+
? request.url.match(/^[^?]*\/_gina\/jobs\/([A-Za-z0-9_-]+)\/?(\?.*)?$/)
|
|
4673
4745
|
: null;
|
|
4674
4746
|
if ( _ginaJobsMatch ) {
|
|
4675
4747
|
var _ginaJobId = _ginaJobsMatch[1];
|
|
@@ -4696,13 +4768,27 @@ function Server(options) {
|
|
|
4696
4768
|
// safe by construction — the running process serves REPORTS, and
|
|
4697
4769
|
// the gc sweep is the one sanctioned mutation.
|
|
4698
4770
|
//
|
|
4771
|
+
// #B710 — the query (`?driver=`, `?dryRun=`) is read from
|
|
4772
|
+
// `request.originalUrl`, never `request.url`: isaac parses the query
|
|
4773
|
+
// into `request.query` and then strips it from `request.url` before
|
|
4774
|
+
// it hands the request to this chain (the catch-all dispatch in
|
|
4775
|
+
// core/server.isaac.js), so on the default engine these handlers saw
|
|
4776
|
+
// no query at all — `gc?dryRun=1` ran a REAL collection over every
|
|
4777
|
+
// driver, and all three ignored `?driver=`. `originalUrl` is the full
|
|
4778
|
+
// URL on both engines (isaac sets it at its listener top, Express
|
|
4779
|
+
// natively); the URL tests below stay on `request.url`. Not
|
|
4780
|
+
// `request.query`: isaac coerces `true`/`on` and JSON-looking values
|
|
4781
|
+
// while Express parses with qs — one URLSearchParams read keeps one
|
|
4782
|
+
// meaning on both. Locked by
|
|
4783
|
+
// test/integration/container-boot-storage-query-b710.test.js.
|
|
4784
|
+
//
|
|
4699
4785
|
// GET /_gina/storage/stats?driver=<name>
|
|
4700
4786
|
// → { configured, drivers: [ {name, strategy, root, capabilities,
|
|
4701
4787
|
// store: {objects, refcounted, zeroRefPending, inline, bytes}|null }
|
|
4702
4788
|
// | {name, error} ] } — the driver's own stats() shape, verbatim.
|
|
4703
4789
|
if (
|
|
4704
4790
|
request.method.toUpperCase() === 'GET'
|
|
4705
|
-
&& /^\/_gina\/storage\/stats(\?.*)
|
|
4791
|
+
&& /^\/_gina\/storage\/stats(\?.*)?$/.test(request.url)
|
|
4706
4792
|
) {
|
|
4707
4793
|
response.setHeader('content-type', 'application/json; charset=utf8');
|
|
4708
4794
|
response.setHeader('cache-control', 'no-cache, no-store, must-revalidate');
|
|
@@ -4714,9 +4800,10 @@ function Server(options) {
|
|
|
4714
4800
|
}
|
|
4715
4801
|
var _stoStatsNames = lib.storage.list();
|
|
4716
4802
|
var _stoStatsDriver = null;
|
|
4717
|
-
var
|
|
4803
|
+
var _stoStatsUrl = request.originalUrl || request.url; // #B710
|
|
4804
|
+
var _stoStatsQi = _stoStatsUrl.indexOf('?');
|
|
4718
4805
|
if ( _stoStatsQi > -1 ) {
|
|
4719
|
-
_stoStatsDriver = new URLSearchParams(
|
|
4806
|
+
_stoStatsDriver = new URLSearchParams(_stoStatsUrl.slice(_stoStatsQi + 1)).get('driver') || null;
|
|
4720
4807
|
}
|
|
4721
4808
|
if ( _stoStatsDriver ) {
|
|
4722
4809
|
if ( _stoStatsNames.indexOf(_stoStatsDriver) < 0 ) {
|
|
@@ -4750,7 +4837,7 @@ function Server(options) {
|
|
|
4750
4837
|
// an error — the design's "no sweep" is a strategy fact.
|
|
4751
4838
|
if (
|
|
4752
4839
|
request.method.toUpperCase() === 'POST'
|
|
4753
|
-
&& /^\/_gina\/storage\/gc(\?.*)
|
|
4840
|
+
&& /^\/_gina\/storage\/gc(\?.*)?$/.test(request.url)
|
|
4754
4841
|
) {
|
|
4755
4842
|
response.setHeader('content-type', 'application/json; charset=utf8');
|
|
4756
4843
|
response.setHeader('cache-control', 'no-cache, no-store, must-revalidate');
|
|
@@ -4763,9 +4850,10 @@ function Server(options) {
|
|
|
4763
4850
|
var _stoGcNames = lib.storage.list();
|
|
4764
4851
|
var _stoGcDriver = null;
|
|
4765
4852
|
var _stoGcDry = false;
|
|
4766
|
-
var
|
|
4853
|
+
var _stoGcUrl = request.originalUrl || request.url; // #B710
|
|
4854
|
+
var _stoGcQi = _stoGcUrl.indexOf('?');
|
|
4767
4855
|
if ( _stoGcQi > -1 ) {
|
|
4768
|
-
var _stoGcQs = new URLSearchParams(
|
|
4856
|
+
var _stoGcQs = new URLSearchParams(_stoGcUrl.slice(_stoGcQi + 1));
|
|
4769
4857
|
_stoGcDriver = _stoGcQs.get('driver') || null;
|
|
4770
4858
|
_stoGcDry = ( _stoGcQs.get('dryRun') === '1' || _stoGcQs.get('dryRun') === 'true' );
|
|
4771
4859
|
}
|
|
@@ -4826,7 +4914,7 @@ function Server(options) {
|
|
|
4826
4914
|
// verify (sharded, v1) is named-and-skipped, never an error.
|
|
4827
4915
|
if (
|
|
4828
4916
|
request.method.toUpperCase() === 'GET'
|
|
4829
|
-
&& /^\/_gina\/storage\/verify(\?.*)
|
|
4917
|
+
&& /^\/_gina\/storage\/verify(\?.*)?$/.test(request.url)
|
|
4830
4918
|
) {
|
|
4831
4919
|
response.setHeader('content-type', 'application/json; charset=utf8');
|
|
4832
4920
|
response.setHeader('cache-control', 'no-cache, no-store, must-revalidate');
|
|
@@ -4838,9 +4926,10 @@ function Server(options) {
|
|
|
4838
4926
|
}
|
|
4839
4927
|
var _stoVerNames = lib.storage.list();
|
|
4840
4928
|
var _stoVerDriver = null;
|
|
4841
|
-
var
|
|
4929
|
+
var _stoVerUrl = request.originalUrl || request.url; // #B710
|
|
4930
|
+
var _stoVerQi = _stoVerUrl.indexOf('?');
|
|
4842
4931
|
if ( _stoVerQi > -1 ) {
|
|
4843
|
-
_stoVerDriver = new URLSearchParams(
|
|
4932
|
+
_stoVerDriver = new URLSearchParams(_stoVerUrl.slice(_stoVerQi + 1)).get('driver') || null;
|
|
4844
4933
|
}
|
|
4845
4934
|
if ( _stoVerDriver ) {
|
|
4846
4935
|
if ( _stoVerNames.indexOf(_stoVerDriver) < 0 ) {
|
|
@@ -4880,7 +4969,8 @@ function Server(options) {
|
|
|
4880
4969
|
if (
|
|
4881
4970
|
lib.releaseWatch.isActive()
|
|
4882
4971
|
&& request.method.toUpperCase() === 'GET'
|
|
4883
|
-
|
|
4972
|
+
// #B717 — `(?:\?|$)`: a query string no longer misses the handler
|
|
4973
|
+
&& /^\/_gina\/release\/status(?:\?|$)/.test(request.url)
|
|
4884
4974
|
) {
|
|
4885
4975
|
if ( !lib.admin.isClientAllowed(request) ) {
|
|
4886
4976
|
response.statusCode = 403;
|
|
@@ -4899,7 +4989,7 @@ function Server(options) {
|
|
|
4899
4989
|
if (
|
|
4900
4990
|
lib.releaseWatch.isActive()
|
|
4901
4991
|
&& request.method.toUpperCase() === 'POST'
|
|
4902
|
-
&& /^\/_gina\/release\/rebuild(\?.*)
|
|
4992
|
+
&& /^\/_gina\/release\/rebuild(\?.*)?$/.test(request.url)
|
|
4903
4993
|
) {
|
|
4904
4994
|
if ( !lib.admin.isClientAllowed(request) ) {
|
|
4905
4995
|
response.statusCode = 403;
|
|
@@ -4928,7 +5018,8 @@ function Server(options) {
|
|
|
4928
5018
|
if (
|
|
4929
5019
|
lib.releaseWatch.isActive()
|
|
4930
5020
|
&& request.method.toUpperCase() === 'GET'
|
|
4931
|
-
|
|
5021
|
+
// #B717 — `(?:\?|$)`: a query string no longer misses the handler
|
|
5022
|
+
&& /^\/_gina\/release\/events(?:\?|$)/.test(request.url)
|
|
4932
5023
|
) {
|
|
4933
5024
|
if ( !lib.admin.isClientAllowed(request) ) {
|
|
4934
5025
|
response.statusCode = 403;
|
|
@@ -4970,8 +5061,9 @@ function Server(options) {
|
|
|
4970
5061
|
// message]} flips it. Admin IP-allowlist gated like /_gina/info and the
|
|
4971
5062
|
// cache/storage families — NOT key-gated like /_gina/instrument, because
|
|
4972
5063
|
// this is an operational switch rather than a data-capture toggle, and it
|
|
4973
|
-
// must stay reachable from the host
|
|
4974
|
-
//
|
|
5064
|
+
// must stay reachable from the host or the pod (`curl` against the bundle
|
|
5065
|
+
// port — there is no maintenance CLI command). A caller relayed by a proxy
|
|
5066
|
+
// on the bundle's own host is refused (#B709, lib/admin).
|
|
4975
5067
|
//
|
|
4976
5068
|
// Deliberately declared ABOVE the maintenance gate itself, so an operator
|
|
4977
5069
|
// can always reach their own off switch while the window is open.
|
|
@@ -4986,7 +5078,7 @@ function Server(options) {
|
|
|
4986
5078
|
// Keep in sync with the core/server.isaac.js twin.
|
|
4987
5079
|
if (
|
|
4988
5080
|
( request.method.toUpperCase() === 'GET' || request.method.toUpperCase() === 'POST' )
|
|
4989
|
-
&&
|
|
5081
|
+
&& /^\/_gina\/maintenance$/.test(_ginaCtlPath)
|
|
4990
5082
|
) {
|
|
4991
5083
|
response.setHeader('content-type', 'application/json; charset=utf8');
|
|
4992
5084
|
response.setHeader('cache-control', 'no-cache, no-store, must-revalidate');
|
|
@@ -5121,7 +5213,8 @@ function Server(options) {
|
|
|
5121
5213
|
if (
|
|
5122
5214
|
process.gina && process.gina._inspectorInstrumentEnabled
|
|
5123
5215
|
&& (request.method.toUpperCase() === 'GET' || request.method.toUpperCase() === 'POST')
|
|
5124
|
-
|
|
5216
|
+
// #B712 — `^[^?]*`: in the url's path, not its query string
|
|
5217
|
+
&& /^[^?]*\/_gina\/instrument(?:\?|$)/.test(request.url)
|
|
5125
5218
|
) {
|
|
5126
5219
|
response.setHeader('content-type', 'application/json; charset=utf8');
|
|
5127
5220
|
response.setHeader('cache-control', 'no-cache, no-store, must-revalidate');
|
|
@@ -5158,14 +5251,17 @@ function Server(options) {
|
|
|
5158
5251
|
if (
|
|
5159
5252
|
process.env.NODE_ENV_IS_DEV && process.env.NODE_ENV_IS_DEV.toLowerCase() === 'true'
|
|
5160
5253
|
&& request.method.toUpperCase() === 'GET'
|
|
5161
|
-
|
|
5254
|
+
// #B712 — `^[^?]*…(?:\?|$)`: in the url's path, and a query string no longer misses it
|
|
5255
|
+
&& /^[^?]*\/_gina\/inspector(\/[^?]*)?(?:\?|$)/.test(request.url)
|
|
5162
5256
|
) {
|
|
5163
5257
|
// Activate profiling on first Inspector access — one-way flag,
|
|
5164
5258
|
// stays true until bundle restart. QI (controller.js:257) gates
|
|
5165
5259
|
// on this; it must be true before any request is processed.
|
|
5166
5260
|
if (!process.gina._inspectorActive) process.gina._inspectorActive = true;
|
|
5167
5261
|
var _bmBase = __dirname + '/asset/plugin/dist/vendor/gina/inspector';
|
|
5168
|
-
|
|
5262
|
+
// #B712 — read from the url's path, like the matcher above: a query string that
|
|
5263
|
+
// names another Inspector path no longer picks the file
|
|
5264
|
+
var _bmPath = request.url.split('?')[0].replace(/^.*\/_gina\/inspector\/?/, '');
|
|
5169
5265
|
if (!_bmPath || _bmPath === '') _bmPath = 'index.html';
|
|
5170
5266
|
|
|
5171
5267
|
var _bmMime = {
|
|
@@ -5203,7 +5299,8 @@ function Server(options) {
|
|
|
5203
5299
|
if (
|
|
5204
5300
|
process.env.NODE_ENV_IS_DEV && process.env.NODE_ENV_IS_DEV.toLowerCase() === 'true'
|
|
5205
5301
|
&& request.method.toUpperCase() === 'GET'
|
|
5206
|
-
|
|
5302
|
+
// #B712 — `^[^?]*…(?:\?|$)`: in the url's path, and a query string no longer misses it
|
|
5303
|
+
&& /^[^?]*\/_gina\/logs(?:\?|$)/.test(request.url)
|
|
5207
5304
|
) {
|
|
5208
5305
|
if (!process.gina._inspectorActive) process.gina._inspectorActive = true;
|
|
5209
5306
|
var _ansiRe = /\x1B\[\d+m/g;
|
|
@@ -5258,7 +5355,8 @@ function Server(options) {
|
|
|
5258
5355
|
|| (process.gina && process.gina._inspectorAgentEnabled)
|
|
5259
5356
|
)
|
|
5260
5357
|
&& request.method.toUpperCase() === 'GET'
|
|
5261
|
-
|
|
5358
|
+
// #B712 — `^[^?]*`: in the url's path, not its query string
|
|
5359
|
+
&& /^[^?]*\/_gina\/agent(?:\?|$)/.test(request.url)
|
|
5262
5360
|
) {
|
|
5263
5361
|
// #INS9b — outside dev mode the agent endpoint requires a valid
|
|
5264
5362
|
// key (x-gina-inspector-key header or ?key= query param). In dev
|
|
@@ -5369,7 +5467,8 @@ function Server(options) {
|
|
|
5369
5467
|
if (
|
|
5370
5468
|
process.env.NODE_ENV_IS_DEV && process.env.NODE_ENV_IS_DEV.toLowerCase() === 'true'
|
|
5371
5469
|
&& request.method.toUpperCase() === 'GET'
|
|
5372
|
-
|
|
5470
|
+
// #B712 — `^[^?]*…(?:\?|$)`: in the url's path, and a query string no longer misses it
|
|
5471
|
+
&& /^[^?]*\/_gina\/indexes(?:\?|$)/.test(request.url)
|
|
5373
5472
|
) {
|
|
5374
5473
|
if (!process.gina._inspectorActive) process.gina._inspectorActive = true;
|
|
5375
5474
|
|
|
@@ -5423,7 +5522,8 @@ function Server(options) {
|
|
|
5423
5522
|
if (
|
|
5424
5523
|
process.env.NODE_ENV_IS_DEV && process.env.NODE_ENV_IS_DEV.toLowerCase() === 'true'
|
|
5425
5524
|
&& request.method.toUpperCase() === 'GET'
|
|
5426
|
-
|
|
5525
|
+
// #B712 — `^[^?]*…(?:\?|$)`: in the url's path, and a query string no longer misses it
|
|
5526
|
+
&& /^[^?]*\/_gina\/reveal(?:\?|$)/.test(request.url)
|
|
5427
5527
|
) {
|
|
5428
5528
|
response.setHeader('content-type', 'application/json; charset=utf8');
|
|
5429
5529
|
response.setHeader('cache-control', 'no-cache, no-store');
|
|
@@ -5489,7 +5589,12 @@ function Server(options) {
|
|
|
5489
5589
|
//
|
|
5490
5590
|
// Keep in sync with the core/server.isaac.js twin.
|
|
5491
5591
|
var _mtState = self.instance && self.instance._maintenance;
|
|
5492
|
-
|
|
5592
|
+
// #B711 — a request the isaac engine's own gate already admitted is not decided again:
|
|
5593
|
+
// isaac rewrites an http/1.1 `Host` without its port before handing the request here,
|
|
5594
|
+
// so this gate would read a listed direct client as proxied, close the IP arm and
|
|
5595
|
+
// answer 503. The mark is only ever set by isaac's gate, on a request it let through
|
|
5596
|
+
// (cookie, header or allowlisted-and-not-proxied); Express never sets it.
|
|
5597
|
+
if ( _mtState && request._ginaMaintenanceAdmitted !== true && lib.maintenance.isActive(_mtState) ) {
|
|
5493
5598
|
var _mtNow = Date.now();
|
|
5494
5599
|
var _mtConf = lib.maintenance.effectiveConf(_mtState, _mtNow);
|
|
5495
5600
|
var _mtVerdict = lib.maintenance.evaluateBypass(
|
|
@@ -7121,10 +7226,23 @@ function Server(options) {
|
|
|
7121
7226
|
*/
|
|
7122
7227
|
var loadBundleConfiguration = function(req, res, next, callback) {
|
|
7123
7228
|
|
|
7124
|
-
|
|
7125
|
-
|
|
7126
|
-
//
|
|
7127
|
-
|
|
7229
|
+
// Once Config is initialised, `new Config()` built a throwaway only for its
|
|
7230
|
+
// getInstance() to return the singleton's envConf (re-setting Env/Scope/Host to
|
|
7231
|
+
// the values they already hold), and setBundles() wrote onto that throwaway,
|
|
7232
|
+
// which nothing read. Downstream, `config` is only asked isCacheless() and
|
|
7233
|
+
// getRouting(), which answer the same on the singleton. Before that — or in a
|
|
7234
|
+
// worker, where Config.initialized stays unset — the calls run as before, #B542's
|
|
7235
|
+
// refusal included (phase-2 per-request trims, slice E).
|
|
7236
|
+
var config, conf;
|
|
7237
|
+
if ( Config.initialized && Config.instance ) {
|
|
7238
|
+
config = Config.instance;
|
|
7239
|
+
conf = Config.instance.envConf;
|
|
7240
|
+
} else {
|
|
7241
|
+
config = new Config();
|
|
7242
|
+
config.setBundles(self.bundles);
|
|
7243
|
+
// for all loaded bundles
|
|
7244
|
+
conf = config.getInstance();
|
|
7245
|
+
}
|
|
7128
7246
|
//for cacheless mode
|
|
7129
7247
|
if ( typeof(conf) != 'undefined') {
|
|
7130
7248
|
self.conf = conf;
|