gina 0.1.6-alpha.3 → 0.1.6-alpha.31

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.
Files changed (306) hide show
  1. package/README.md +2 -11
  2. package/framework/v0.1.6-alpha.31/VERSION +1 -0
  3. package/framework/v0.1.6-alpha.31/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
  4. package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/asset/plugin/dist/vendor/gina/js/gina.js +104 -8
  5. package/framework/v0.1.6-alpha.31/core/asset/plugin/dist/vendor/gina/js/gina.min.js +768 -0
  6. package/framework/v0.1.6-alpha.31/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
  7. package/framework/v0.1.6-alpha.31/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +7 -0
  8. package/framework/v0.1.6-alpha.31/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
  9. package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/config.js +35 -3
  10. package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/controller/controller.js +226 -33
  11. package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/gna.js +61 -9
  12. package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/plugins/lib/validator/src/main.js +7 -0
  13. package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/router.js +74 -40
  14. package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/server.js +25 -2
  15. package/framework/v0.1.6-alpha.31/core/template/_gitignore +19 -0
  16. package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/conf/env.json +7 -5
  17. package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/path.js +25 -9
  18. package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/bundle/add.js +2 -1
  19. package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/bundle/start.js +5 -3
  20. package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/framework/build.js +1 -1
  21. package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/helper.js +124 -18
  22. package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/project/add.js +10 -6
  23. package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/project/build.js +9 -0
  24. package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/protocol/list.js +71 -50
  25. package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/domain/src/main.js +59 -1
  26. package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/routing/src/main.js +38 -7
  27. package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/swig-filters/src/main.js +61 -8
  28. package/package.json +2 -2
  29. package/utils/prototypes.json_clone.js +8 -1
  30. package/framework/v0.1.6-alpha.3/VERSION +0 -1
  31. package/framework/v0.1.6-alpha.3/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +0 -1
  32. package/framework/v0.1.6-alpha.3/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -765
  33. package/framework/v0.1.6-alpha.3/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +0 -8
  34. package/framework/v0.1.6-alpha.3/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -7
  35. package/framework/v0.1.6-alpha.3/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +0 -8
  36. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/AUTHORS +0 -0
  37. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/LICENSE +0 -0
  38. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/asset/html/nolayout.html +0 -0
  39. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/asset/html/static.html +0 -0
  40. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/asset/img/android-chrome-192x192.png +0 -0
  41. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/asset/img/android-chrome-512x512.png +0 -0
  42. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/asset/img/apple-touch-icon.png +0 -0
  43. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/asset/img/favicon-16x16.png +0 -0
  44. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/asset/img/favicon-32x32.png +0 -0
  45. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/asset/img/favicon.ico +0 -0
  46. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/asset/plugin/README.md +0 -0
  47. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  48. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +0 -0
  49. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/asset/plugin/uuid.json +0 -0
  50. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/connectors/couchbase/index.js +0 -0
  51. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/connectors/couchbase/lib/connector.js +0 -0
  52. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  53. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  54. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/connectors/couchbase/lib/connector.v4.js +0 -0
  55. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/connectors/couchbase/lib/n1ql.js +0 -0
  56. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/connectors/couchbase/lib/session-store.js +0 -0
  57. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  58. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  59. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  60. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/controller/controller.framework.js +0 -0
  61. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/controller/index.js +0 -0
  62. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/deps/busboy/.travis.yml +0 -0
  63. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/deps/busboy/LICENSE +0 -0
  64. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/deps/busboy/README.md +0 -0
  65. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  66. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  67. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/deps/busboy/lib/main.js +0 -0
  68. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/deps/busboy/lib/types/multipart.js +0 -0
  69. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  70. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/deps/busboy/lib/utils.js +0 -0
  71. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/deps/busboy/package.json +0 -0
  72. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  73. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/dev/index.js +0 -0
  74. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/dev/lib/class.js +0 -0
  75. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/dev/lib/factory.js +0 -0
  76. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/dev/lib/tools.js +0 -0
  77. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/locales/README.md +0 -0
  78. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/locales/currency.json +0 -0
  79. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/locales/dist/language/en.json +0 -0
  80. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/locales/dist/language/fr.json +0 -0
  81. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/locales/dist/region/en.json +0 -0
  82. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/locales/dist/region/fr.json +0 -0
  83. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/locales/index.js +0 -0
  84. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/locales/src/make.js +0 -0
  85. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/locales/src/resources/currency.csv +0 -0
  86. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/locales/src/resources/region.csv +0 -0
  87. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/locales/src/resources/region.mapping.json +0 -0
  88. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/mime.types +0 -0
  89. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/model/entity.js +0 -0
  90. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/model/index.js +0 -0
  91. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/model/template/entityFactory.js +0 -0
  92. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/model/template/index.js +0 -0
  93. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/plugins/README.md +0 -0
  94. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/plugins/index.js +0 -0
  95. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/plugins/lib/file/README.md +0 -0
  96. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/plugins/lib/file/build.json +0 -0
  97. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/plugins/lib/file/package.json +0 -0
  98. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/plugins/lib/intl/README.md +0 -0
  99. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/plugins/lib/intl/build.json +0 -0
  100. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/plugins/lib/intl/package.json +0 -0
  101. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/plugins/lib/intl/src/main.js +0 -0
  102. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/plugins/lib/storage/README.md +0 -0
  103. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/plugins/lib/storage/build.json +0 -0
  104. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/plugins/lib/storage/package.json +0 -0
  105. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/plugins/lib/storage/src/main.js +0 -0
  106. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/plugins/lib/validator/README.md +0 -0
  107. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/plugins/lib/validator/build.json +0 -0
  108. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/plugins/lib/validator/package.json +0 -0
  109. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/plugins/lib/validator/src/form-validator.js +0 -0
  110. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/server.express.js +0 -0
  111. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/server.isaac.js +0 -0
  112. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/status.codes +0 -0
  113. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle/config/app.json +0 -0
  114. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle/config/routing.json +0 -0
  115. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle/config/settings.json +0 -0
  116. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  117. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle/config/templates.json +0 -0
  118. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  119. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  120. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  121. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle/index.js +0 -0
  122. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  123. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  124. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  125. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  126. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  127. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle_public/readme.md +0 -0
  128. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  129. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  130. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  131. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  132. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  133. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/command/gina.bat.tpl +0 -0
  134. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/command/gina.tpl +0 -0
  135. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/conf/manifest.json +0 -0
  136. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/conf/package.json +0 -0
  137. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/conf/settings.json +0 -0
  138. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/conf/statics.json +0 -0
  139. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/conf/templates.json +0 -0
  140. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/error/client/json/401.json +0 -0
  141. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/error/client/json/403.json +0 -0
  142. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/error/client/json/404.json +0 -0
  143. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/error/server/html/50x.html +0 -0
  144. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/error/server/json/500.json +0 -0
  145. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/error/server/json/503.json +0 -0
  146. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/core/template/extensions/logger/config.json +0 -0
  147. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/console.js +0 -0
  148. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/context.js +0 -0
  149. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/data/LICENSE +0 -0
  150. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/data/README.md +0 -0
  151. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/data/package.json +0 -0
  152. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/data/src/main.js +0 -0
  153. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/dateFormat.js +0 -0
  154. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/index.js +0 -0
  155. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/json/LICENSE +0 -0
  156. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/json/README.md +0 -0
  157. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/json/package.json +0 -0
  158. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/json/src/main.js +0 -0
  159. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/plugins/README.md +0 -0
  160. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/plugins/package.json +0 -0
  161. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/plugins/src/api-error.js +0 -0
  162. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/plugins/src/main.js +0 -0
  163. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/prototypes.js +0 -0
  164. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/task.js +0 -0
  165. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/helpers/text.js +0 -0
  166. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/archiver/README.md +0 -0
  167. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/archiver/build.json +0 -0
  168. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/archiver/package.json +0 -0
  169. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/archiver/src/dep/jszip.min.js +0 -0
  170. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/archiver/src/main.js +0 -0
  171. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/aliases.json +0 -0
  172. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/bundle/arguments.json +0 -0
  173. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/bundle/copy.js +0 -0
  174. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/bundle/cp.js +0 -0
  175. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/bundle/help.js +0 -0
  176. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/bundle/help.txt +0 -0
  177. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/bundle/list.js +0 -0
  178. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/bundle/remove.js +0 -0
  179. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/bundle/rename.js +0 -0
  180. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/bundle/restart.js +0 -0
  181. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/bundle/rm.js +0 -0
  182. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/bundle/status.js +0 -0
  183. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/bundle/stop.js +0 -0
  184. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/env/add.js +0 -0
  185. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/env/get.js +0 -0
  186. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/env/help.js +0 -0
  187. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/env/help.txt +0 -0
  188. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/env/link-dev.js +0 -0
  189. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/env/list.js +0 -0
  190. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/env/remove.js +0 -0
  191. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/env/rm.js +0 -0
  192. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/env/set.js +0 -0
  193. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/env/unset.js +0 -0
  194. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/env/use.js +0 -0
  195. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/framework/dot.js +0 -0
  196. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/framework/get.js +0 -0
  197. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/framework/help.js +0 -0
  198. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/framework/help.txt +0 -0
  199. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/framework/init.js +0 -0
  200. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/framework/link-node-modules.js +0 -0
  201. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/framework/link.js +0 -0
  202. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/framework/msg.json +0 -0
  203. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/framework/open.js +0 -0
  204. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/framework/restart.js +0 -0
  205. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/framework/set.js +0 -0
  206. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/framework/start.js +0 -0
  207. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/framework/status.js +0 -0
  208. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/framework/stop.js +0 -0
  209. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/framework/tail.js +0 -0
  210. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/framework/update.js +0 -0
  211. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/framework/version.js +0 -0
  212. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/gina-dev.1.md +0 -0
  213. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/gina-framework.1.md +0 -0
  214. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/gina.1.md +0 -0
  215. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/index.js +0 -0
  216. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/msg.json +0 -0
  217. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/port/help.js +0 -0
  218. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/port/help.txt +0 -0
  219. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/port/inc/scan.js +0 -0
  220. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/port/list.js +0 -0
  221. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/port/reset.js +0 -0
  222. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/port/set.js +0 -0
  223. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/project/arguments.json +0 -0
  224. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/project/help.js +0 -0
  225. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/project/help.txt +0 -0
  226. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/project/import.js +0 -0
  227. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/project/list.js +0 -0
  228. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/project/move.js +0 -0
  229. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/project/remove.js +0 -0
  230. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/project/rename.js +0 -0
  231. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/project/restart.js +0 -0
  232. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/project/rm.js +0 -0
  233. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/project/start.js +0 -0
  234. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/project/status.js +0 -0
  235. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/project/stop.js +0 -0
  236. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/protocol/help.js +0 -0
  237. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/protocol/help.txt +0 -0
  238. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/protocol/set.js +0 -0
  239. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/scope/add.js +0 -0
  240. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/scope/help.js +0 -0
  241. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/scope/help.txt +0 -0
  242. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/scope/link-local.js +0 -0
  243. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/scope/link-production.js +0 -0
  244. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/scope/list.js +0 -0
  245. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/scope/remove.js +0 -0
  246. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/scope/rm.js +0 -0
  247. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/scope/use.js +0 -0
  248. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cmd/view/add.js +0 -0
  249. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/collection/README.md +0 -0
  250. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/collection/build.json +0 -0
  251. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/collection/package.json +0 -0
  252. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/collection/src/main.js +0 -0
  253. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/config.js +0 -0
  254. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cron/README.md +0 -0
  255. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cron/package.json +0 -0
  256. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/cron/src/main.js +0 -0
  257. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/domain/LICENSE +0 -0
  258. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/domain/README.md +0 -0
  259. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/domain/dist/public_suffix_list.dat +0 -0
  260. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/domain/exemples/backend.js +0 -0
  261. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/domain/exemples/frontend.html +0 -0
  262. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/domain/package.json +0 -0
  263. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/generator/index.js +0 -0
  264. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/index.js +0 -0
  265. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/inherits/LICENSE +0 -0
  266. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/inherits/README.md +0 -0
  267. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  268. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/inherits/example/protected_inheritance.js +0 -0
  269. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/inherits/example/simple_inheritance.js +0 -0
  270. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  271. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/inherits/package.json +0 -0
  272. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/inherits/src/main.js +0 -0
  273. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/logger/README.md +0 -0
  274. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/logger/package.json +0 -0
  275. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/logger/src/containers/default/index.js +0 -0
  276. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/logger/src/containers/file/index.js +0 -0
  277. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  278. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  279. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/logger/src/containers/mq/index.js +0 -0
  280. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/logger/src/containers/mq/listener.js +0 -0
  281. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/logger/src/containers/mq/speaker.js +0 -0
  282. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/logger/src/helper.js +0 -0
  283. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/logger/src/main.js +0 -0
  284. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/math/index.js +0 -0
  285. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/merge/README.md +0 -0
  286. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/merge/example/merge.js +0 -0
  287. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/merge/example/merge_2_literal objects.js +0 -0
  288. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/merge/example/merge_and_preserve_first.js +0 -0
  289. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/merge/package.json +0 -0
  290. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/merge/src/main.js +0 -0
  291. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/model.js +0 -0
  292. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/proc.js +0 -0
  293. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/routing/README.md +0 -0
  294. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/routing/build.json +0 -0
  295. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/routing/package.json +0 -0
  296. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/session-store.js +0 -0
  297. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/shell.js +0 -0
  298. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/swig-filters/README.md +0 -0
  299. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/swig-filters/package.json +0 -0
  300. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/url/README.md +0 -0
  301. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/url/index.js +0 -0
  302. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/url/mocks.json +0 -0
  303. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/url/routing.json +0 -0
  304. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/url/test.js +0 -0
  305. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/lib/validator.js +0 -0
  306. /package/framework/{v0.1.6-alpha.3 → v0.1.6-alpha.31}/package.json +0 -0
@@ -0,0 +1,7 @@
1
+ window.originalContext=window.jQuery;window.ginaToolbar=null;
2
+ window.onGinaLoaded=function(b){if(!b)return!1;if(b.isFrameworkLoaded)return!0;var f=b.config={bundle:'{{ page.environment.bundle }}',env:'{{ page.environment.env }}',envIsDev:/^true$/.test('{{ page.environment.envIsDev }}')?!0:!1,scope:'{{ page.environment.scope }}',scopeIsLocal:/^true$/.test('{{ page.environment.scopeIsLocal }}')?!0:!1,scopeIsProduction:/^true$/.test('{{ page.environment.scopeIsProduction }}')?!0:!1,isProxyHost:/^true$/.test('{{ page.environment.isProxyHost }}')?!0:!1,hostname:'{{ page.environment.hostname }}',
3
+ routing:JSON.parse(decodeURIComponent('{{ page.environment.routing }}')),reverseRouting:JSON.parse(decodeURIComponent('{{ page.environment.reverseRouting }}')),version:'{{ page.environment.version }}',webroot:'{{ page.environment.webroot }}',protocol:'{{ page.environment.protocol }}'};b.session={id:'{{ page.data.session.id }}',originalTimeout:'{{ page.data.session.timeout }}',createdAt:'{{ page.data.session.createdAt }}',lastModified:'{{ page.data.session.lastModified }}',expiresAt:null};b.session.__defineGetter__('timeout',
4
+ function(){if(this.lastModified){this.lastModified&&'string'==typeof this.lastModified&&(this.lastModified=new Date(this.lastModified));this.createdAt&&'string'==typeof this.createdAt&&(this.createdAt=new Date(this.createdAt));this.originalTimeout&&'string'==typeof this.originalTimeout&&(this.originalTimeout=parseInt(this.originalTimeout));this.expiresAt=new Date((new Date(this.lastModified)).getTime()+this.originalTimeout);var c=this.expiresAt-new Date}else c=null;return c});b.session.timeout;b.config.getRouting=
5
+ function(c){if('undefined'==typeof c)return b.config.routing;var g={},k=b.config.routing;c=new RegExp('\\@'+c+String.fromCharCode(36));for(var h in k)c.test(h)&&(g[h]=k[h]);return 0<g.count()?g:null};window.GINA_ENV='{{ page.environment.env }}';window.GINA_ENV_IS_DEV=/^true$/i.test('{{ page.environment.envIsDev }}')?!0:!1;if('undefined'!=typeof location.search&&/debug=/i.test(location.search)||!location.search&&/\?/.test(location.href)){var a=(' '+location.search).slice(1);!a&&/\?/.test(location.href)&&
6
+ (a=location.href.match(/\?.*/),Array.isArray(a)&&0<a.length&&(a=a[0]));(a=a.match(/debug=(true|false)/))&&(window.GINA_ENV_IS_DEV=b.config.envIsDev=/^true$/i.test(a[0].split(/=/)[1])?!0:!1);a=a=null}b.isFrameworkLoaded=!0;b.setOptions(f);try{b.forms=JSON.parse(decodeURIComponent('{{ page.environment.forms }}'))}catch(c){throw c;}a=null;a=document.head.getElementsByTagName('link');for(var d=0,e=a.length,l=!1,m=RegExp('css/vendor/gina/gina.min.css');d<e;++d)if(m.test(a[d].href)){l=!0;break}m=e=d=a=
7
+ null;l||(a=document.createElement('link'),a.href=f.webroot+'css/vendor/gina/gina.min.css',a.media='screen',a.rel='stylesheet',a.type='text/css',d=document.getElementsByTagName('head')[0],(e=d.getElementsByTagName('link'))&&'undefined'!=typeof e.length&&0<e.length?(console.debug('placed before'),d.insertBefore(a,e[0])):(console.debug('placed after'),d.appendChild(a)),d=e=null);/^true$/i.test(f.envIsDev)&&(f=window.require('gina/toolbar'),window.ginaToolbar=new f);return!0};
@@ -0,0 +1,8 @@
1
+ {
2
+ "version":3,
3
+ "file":"/usr/local/lib/node_modules/gina/framework/v0.1.6-alpha.31/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js",
4
+ "lineCount":7,
5
+ "mappings":"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",
6
+ "sources":["/usr/local/lib/node_modules/gina/framework/v0.1.6-alpha.31/core/asset/plugin/src/vendor/gina/utils/loader.js"],
7
+ "names":["window","gina","options","test","JSON","parse","decodeURIComponent","version","__defineGetter__","_this","Date","parseInt","getTime","timeout","bundle","routes","routing","re","RegExp","String","fromCharCode","route","location","search","href","slice","match","Array","isArray","length","matched","split","err","link","links","document","head","getElementsByTagName","i","len","found","cssPath","createElement","media","rel","type","headEls","existingLinks","console","debug","insertBefore","appendChild","Toolbar"]
8
+ }
@@ -72,6 +72,7 @@ function Config(opt, contextResetNeeded) {
72
72
  * */
73
73
  var init = function(opt, contextResetNeeded) {
74
74
 
75
+
75
76
  if ( !Config.initialized) {
76
77
  var env = opt.env;
77
78
  var scope = opt.scope;
@@ -395,7 +396,10 @@ function Config(opt, contextResetNeeded) {
395
396
  var protocol = self.envConf[self.startingApp][env].content.settings.server.protocol || self.envConf[self.startingApp][env].server.protocol;
396
397
  var scheme = self.envConf[self.startingApp][env].content.settings.server.scheme || self.envConf[self.startingApp][env].server.scheme;
397
398
 
398
- self.envConf[self.startingApp][env].hostname = scheme + '://' + self.envConf[self.startingApp][env].host + ':' + self.envConf[self.startingApp][env].server.port;
399
+ var hostname = scheme + '://' + self.envConf[self.startingApp][env].host + ':' + self.envConf[self.startingApp][env].server.port;
400
+ var isProxyHost = getContext('isProxyHost');
401
+
402
+ self.envConf[self.startingApp][env].hostname = hostname;
399
403
 
400
404
  self.envConf[bundle][env].hostname = self.envConf[self.startingApp][env].hostname;
401
405
  self.envConf[bundle][env].content.routing = self.envConf[self.startingApp][env].content.routing;
@@ -910,7 +914,25 @@ function Config(opt, contextResetNeeded) {
910
914
  // Variables replace. Compare with gina/core/template/conf/env.json.
911
915
  // Defining root domain (TLD or SLD)
912
916
  // by default
917
+ // var hostFQDN = await domainLib.getFQDN() || os.hostname();
918
+ // console.debug('[CONFIG]['+ app +'][loadWithTemplate][FQDN] Setting Host FQDN from `'+ newContent[app][env].host +'` => `'+ self.hostFQDN);
913
919
  var rootDomain = domainLib.getRootDomain(os.hostname()).value;
920
+ // if (
921
+ // typeof(newContent[app][env].host) != 'undefined'
922
+ // && self.startingApp == app
923
+ // && new RegExp('^'+ app + '-').test(newContent[app][env].host)
924
+ // && newContent[app][env].host != hostFQDN
925
+ // ) {
926
+ // console.debug('[CONFIG]['+ app +'][loadWithTemplate] Auto HOST MODE ON: retrieving current host FQDN.');
927
+ // // Get fqdn (equivalent of `hostname --fqdn` command line)
928
+ // try {
929
+ // newContent[app][env].host = hostFQDN;
930
+ // console.info('[CONFIG]['+ app +'][loadWithTemplate][FQDN] Host set as `'+ self.hostFQDN +'`');
931
+ // } catch (fqdnErr) {
932
+ // console.emerg('[CONFIG]['+ app +'][loadWithTemplate][FQDN] Check you `/etc/hosts` or check your hostname by running `hostname --fqdn` \n\r'+ fqdnErr.stack);
933
+ // process.exit(1)
934
+ // }
935
+ // }
914
936
  // if overrided by the project `manifest.json`: meaning all bundles belong to the same TLD or SLD
915
937
  if ( typeof(manifest.rootDomain) != 'undefined' ) {
916
938
  rootDomain = manifest.rootDomain;
@@ -924,6 +946,9 @@ function Config(opt, contextResetNeeded) {
924
946
  rootDomain = domainLib.getRootDomain(newContent[app][env].host).value;
925
947
  }
926
948
  newContent[app][env].rootDomain = rootDomain;
949
+ if ( /^true$/i.test( getContext('isProxyHost') ) ) {
950
+ newContent[app][env].rootDomain = rootDomain = domainLib.getRootDomain(process.gina.PROXY_HOST).value;
951
+ }
927
952
 
928
953
  let reps = {
929
954
  "frameworkDir" : getEnvVar('GINA_FRAMEWORK_DIR'),
@@ -1662,6 +1687,10 @@ function Config(opt, contextResetNeeded) {
1662
1687
  ) {
1663
1688
  routing[rule].host = conf[routing[rule].bundle][env].host
1664
1689
  routing[rule].hostname = conf[routing[rule].bundle][env].server.scheme +'://'+ routing[rule].host +':'+ conf[routing[rule].bundle][env].port[conf[routing[rule].bundle][env].server.protocol][conf[routing[rule].bundle][env].server.scheme];
1690
+ if ( /^true$/i.test( getContext('isProxyHost') ) ) {
1691
+ routing[rule].host = process.gina.PROXY_HOST
1692
+ routing[rule].hostname = process.gina.PROXY_HOSTNAME
1693
+ }
1665
1694
  // default webroot
1666
1695
  routing[rule].webroot = localWroot;
1667
1696
  }
@@ -2371,7 +2400,7 @@ function Config(opt, contextResetNeeded) {
2371
2400
  conf[bundle][env].env = env;
2372
2401
  conf[bundle][env].scope = scope;
2373
2402
 
2374
- // this setting is replace on http requests by the value extracted form the request header
2403
+ // this setting is replaced on http requests by the value extracted form the request header
2375
2404
  if (
2376
2405
  typeof(conf[bundle][env].content.settings) != 'undefined'
2377
2406
  && typeof(conf[bundle][env].content.settings.server) != 'undefined'
@@ -2395,7 +2424,10 @@ function Config(opt, contextResetNeeded) {
2395
2424
  conf[bundle][env].server.supportedRequestMethods = conf[bundle][env].content.settings.server.supportedRequestMethods;
2396
2425
  conf[bundle][env].hostname = scheme + '://' + conf[bundle][env].host + ':' + conf[bundle][env].server.port;
2397
2426
 
2398
-
2427
+ if ( /^true$/i.test( getContext('isProxyHost') ) ) {
2428
+ conf[bundle][env].host = process.gina.PROXY_HOST
2429
+ conf[bundle][env].hostname = process.gina.PROXY_HOSTNAME
2430
+ }
2399
2431
  self.envConf[bundle][env] = conf[bundle][env];
2400
2432
 
2401
2433
  ++b;
@@ -25,6 +25,8 @@ var inherits = lib.inherits;
25
25
  var console = lib.logger;
26
26
  var Collection = lib.Collection;
27
27
  var routingLib = lib.routing;
28
+ var Domain = lib.Domain;
29
+ var domainLib = new Domain();
28
30
  var swig = require('swig');
29
31
  // Swig 2
30
32
  // var swig = require('./../deps/swig-client/swig-2.0.0.min.js');
@@ -343,8 +345,110 @@ function SuperController(options) {
343
345
  set('page.environment.scopeIsProduction', /^true$/i.test(process.env.NODE_SCOPE_IS_PRODUCTION) );
344
346
  set('page.environment.date.now', new Date().format("isoDateTime"));
345
347
 
348
+ // var requestPort = req.headers.port || req.headers[':port'];
349
+ // var isProxyHost = (
350
+ // typeof(req.headers.host) != 'undefined'
351
+ // && typeof(requestPort) != 'undefined'
352
+ // && /^(80|443)$/.test(requestPort)
353
+ // && local.options.conf.server.scheme +'://'+ req.headers.host +':'+ requestPort != local.options.conf.hostname.replace(/\:\d+$/, '') +':'+ local.options.conf.server.port
354
+ // ||
355
+ // typeof(req.headers[':authority']) != 'undefined'
356
+ // && local.options.conf.server.scheme +'://'+ req.headers[':authority'] != local.options.conf.hostname
357
+ // ||
358
+ // typeof(req.headers.host) != 'undefined'
359
+ // && typeof(requestPort) != 'undefined'
360
+ // && /^(80|443)$/.test(requestPort)
361
+ // && req.headers.host == local.options.conf.host
362
+ // ||
363
+ // typeof(req.headers['x-nginx-proxy']) != 'undefined'
364
+ // && /^true$/i.test(req.headers['x-nginx-proxy'])
365
+ // ) ? true : false;
366
+ // setContext('isProxyHost', isProxyHost);
367
+ var isProxyHost = getContext('isProxyHost') || false;
368
+ set('page.environment.isProxyHost', isProxyHost);
369
+ var _config = ctx.config.envConf[options.conf.bundle][process.env.NODE_ENV];
370
+ // by default
371
+ var hostname = _config.hostname + _config.server.webroot;
372
+ var scheme = hostname.match(/^(https|http)/)[0];
373
+ var requestPort = (local.req.headers.port||local.req.headers[':port']);
374
+
375
+ var hostPort = hostname.match(/(\:d+\/|\:\d+)$/);
376
+ hostPort = (hostPort) ? ~~(hostPort[0].replace(/\:/g, '')) : _config.port[_config.server.protocol][_config.server.scheme];
377
+ // Linking bundle B from bundle A wihtout proxy
378
+ var isSpecialCase = (
379
+ getContext('bundle') != _config.bundle
380
+ && requestPort != hostPort
381
+ && local.req.headers[':host'] != process.gina.PROXY_HOST
382
+ ) ? true : false;
383
+
384
+ if (isSpecialCase) {
385
+ hostname = _config.hostname;
386
+ }
387
+
388
+ if (
389
+ isProxyHost
390
+ && !isSpecialCase
391
+ ) {
392
+ // Rewrite hostname vs req.headers.host
393
+ hostname = scheme + '://'+ (local.req.headers.host||local.req.headers[':host']);
394
+
395
+ if (
396
+ !/^(80|443)$/.test(requestPort)
397
+ && !new RegExp(requestPort+'$').test(hostname)
398
+ ) {
399
+ hostname += ':'+ requestPort;
400
+ }
401
+ }
402
+
403
+ set('page.environment.hostname', hostname);
404
+ // Updating _config.rootDomain - 2024/04/15
405
+ // _config.rootDomain = domainLib.getRootDomain(hostname).value;
406
+
407
+
408
+ set('page.environment.rootDomain', _config.rootDomain);
409
+ set('page.environment.webroot', options.conf.server.webroot);
410
+
411
+ if ( typeof(ctx.config.envConf._isRoutingUpdateNeeded) == 'undefined') {
412
+ ctx.config.envConf._isRoutingUpdateNeeded = false;
413
+ }
414
+
415
+ if (
416
+ typeof(ctx.config.envConf._proxyHostname) == 'undefined'
417
+ ||
418
+ hostname != ctx.config.envConf._proxyHostname
419
+ ) {
420
+ ctx.config.envConf._proxyHostname = (isProxyHost) ? hostname : null;
421
+ ctx.config.envConf._isRoutingUpdateNeeded = true;
422
+ }
423
+
424
+ if ( typeof(ctx.config.envConf._routingCloned) == 'undefined' ) {
425
+ ctx.config.envConf._routingCloned = JSON.clone(ctx.config.envConf.routing);
426
+ }
427
+
428
+ var routing = local.options.conf.routing = ctx.config.envConf._routingCloned; // all routes
429
+ if ( /^true$/i.test(ctx.config.envConf._isRoutingUpdateNeeded) ) {
430
+
431
+ for (let r in ctx.config.envConf.routing) {
432
+ if ( isProxyHost ) {
433
+ local.options.conf.routing[r].host = hostname.replace(/^(https|http)\:\/\//, '');
434
+ local.options.conf.routing[r].hostname = hostname;
435
+ let scheme = hostname.match(/^(https|http)/)[0];
436
+ local.options.conf.routing[r].hostname = scheme + '://'+ (local.req.headers.host||local.req.headers[':host']);
437
+ let requestPort = (local.req.headers.port||local.req.headers[':port']);
438
+ if (
439
+ !/^(80|443)$/.test(requestPort)
440
+ && !new RegExp(requestPort+'$').test(local.options.conf.routing[r].hostname)
441
+ ) {
442
+ local.options.conf.routing[r].hostname += ':'+ requestPort
443
+ }
444
+ continue;
445
+ }
446
+ local.options.conf.routing[r].host = ctx.config.envConf.routing[r].host;
447
+ local.options.conf.routing[r].hostname = ctx.config.envConf.routing[r].hostname;
448
+ }
449
+ ctx.config.envConf._isRoutingUpdateNeeded = false;
346
450
 
347
- var routing = local.options.conf.routing = ctx.config.envConf.routing; // all routes
451
+ }
348
452
  set('page.environment.routing', encodeRFC5987ValueChars(JSON.stringify(routing))); // export for GFF
349
453
  //reverseRouting
350
454
  var reverseRouting = local.options.conf.reverseRouting = ctx.config.envConf.reverseRouting; // all routes
@@ -354,9 +458,8 @@ function SuperController(options) {
354
458
  set('page.environment.forms', encodeRFC5987ValueChars(JSON.stringify(forms))); // export for GFF
355
459
  set('page.forms', options.conf.content.forms);
356
460
 
357
- set('page.environment.hostname', ctx.config.envConf[options.conf.bundle][process.env.NODE_ENV].hostname);
358
- set('page.environment.rootDomain', ctx.config.envConf[options.conf.bundle][process.env.NODE_ENV].rootDomain);
359
- set('page.environment.webroot', options.conf.server.webroot);
461
+
462
+
360
463
  set('page.environment.bundle', options.conf.bundle);
361
464
  set('page.environment.project', options.conf.projectName);
362
465
  set('page.environment.protocol', options.conf.server.protocol);
@@ -437,11 +540,6 @@ function SuperController(options) {
437
540
  set('page.view.lang', userCulture);
438
541
  }
439
542
 
440
- if ( !getContext('isProxyHost') ) {
441
- var isProxyHost = ( typeof(req.headers.host) != 'undefined' && local.options.conf.server.scheme +'://'+ req.headers.host != local.options.conf.hostname || typeof(req.headers[':authority']) != 'undefined' && local.options.conf.server.scheme +'://'+ req.headers[':authority'] != local.options.conf.hostname ) ? true : false;
442
- setContext('isProxyHost', isProxyHost);
443
- isProxyHost = null;
444
- }
445
543
 
446
544
  //TODO - detect when to use swig
447
545
  var dir = null;
@@ -839,12 +937,28 @@ function SuperController(options) {
839
937
  return;
840
938
  }
841
939
 
940
+ var localRequestPort = local.req.headers.port || local.req.headers[':port'];
842
941
  var isProxyHost = (
843
942
  typeof(local.req.headers.host) != 'undefined'
844
- && localOptions.conf.server.scheme +'://'+ local.req.headers.host != localOptions.conf.hostname
845
- || typeof(local.req.headers[':authority']) != 'undefined'
846
- && localOptions.conf.server.scheme +'://'+ local.req.headers[':authority'] != localOptions.conf.hostname
943
+ && typeof(localRequestPort) != 'undefined'
944
+ && /^(80|443)$/.test(localRequestPort)
945
+ && localOptions.conf.server.scheme +'://'+ local.req.headers.host+':'+ localRequestPort != localOptions.conf.hostname.replace(/\:\d+$/, '') +':'+ localOptions.conf.server.port
946
+ ||
947
+ typeof(local.req.headers[':authority']) != 'undefined'
948
+ && localOptions.conf.server.scheme +'://'+ local.req.headers[':authority'] != localOptions.conf.hostname
949
+ ||
950
+ typeof(local.req.headers.host) != 'undefined'
951
+ && typeof(localRequestPort) != 'undefined'
952
+ && /^(80|443)$/.test(localRequestPort)
953
+ && local.req.headers.host == localOptions.conf.host
954
+ ||
955
+ typeof(local.req.headers['x-nginx-proxy']) != 'undefined'
956
+ && /^true$/i.test(local.req.headers['x-nginx-proxy'])
957
+ ||
958
+ typeof(process.gina.PROXY_HOSTNAME) != 'undefined'
847
959
  ) ? true : false;
960
+
961
+
848
962
  // setup swig default filters
849
963
  var filters = SwigFilters({
850
964
  options : JSON.clone(localOptions),
@@ -1619,7 +1733,11 @@ function SuperController(options) {
1619
1733
  var authority = ( typeof(local.req.headers['x-forwarded-proto']) != 'undefined' ) ? local.req.headers['x-forwarded-proto'] : local.options.conf.server.scheme;
1620
1734
  authority += '://'+ local.req.headers.host;
1621
1735
  var useWebroot = false;
1622
- if ( !/^\/$/.test(local.options.conf.server.webroot) && local.options.conf.server.webroot.length > 0 && local.options.conf.hostname.replace(/\:\d+$/, '') == authority ) {
1736
+ if (
1737
+ !/^\/$/.test(local.options.conf.server.webroot)
1738
+ && local.options.conf.server.webroot.length > 0
1739
+ // && local.options.conf.hostname.replace(/\:\d+$/, '') == authority
1740
+ ) {
1623
1741
  useWebroot = true
1624
1742
  }
1625
1743
  authority = null;
@@ -1663,13 +1781,45 @@ function SuperController(options) {
1663
1781
  , rLen = resArr.length
1664
1782
  , obj = null
1665
1783
  , str = ''
1784
+ , isProxyHost = getContext('isProxyHost')
1666
1785
  , requestHost = ( /http\/2/.test(local.options.conf.server.protocol) )
1667
1786
  ? local.req.headers[':host']
1668
1787
  : local.req.headers.host
1669
1788
  , hostname = ( typeof(requestHost) != 'undefined' && local.options.conf.host != requestHost)
1670
- ? local.options.conf.server.scheme +'://'+ requestHost + ':'+ local.options.conf.server.port
1789
+ ? local.options.conf.server.scheme +'://'+ requestHost
1671
1790
  : local.options.conf.hostname
1791
+ , scheme = hostname.match(/^(https|http)/)[0]
1672
1792
  ;
1793
+ var requestPort = (local.req.headers.port||local.req.headers[':port']);
1794
+ var hostPort = local.options.conf.hostname.match(/(\:d+\/|\:\d+)$/);
1795
+ hostPort = (hostPort) ? ~~(hostPort[0].replace(/\:/g, '')) : local.options.conf.port[local.options.conf.server.protocol][local.options.conf.server.scheme];
1796
+ // Linking bundle B from bundle A wihtout proxy
1797
+ var isSpecialCase = (
1798
+ getContext('bundle') != local.options.conf.bundle
1799
+ && requestPort != hostPort
1800
+ && local.req.headers[':host'] != process.gina.PROXY_HOST
1801
+ ) ? true : false;
1802
+
1803
+ if (isSpecialCase) {
1804
+ hostname = local.options.conf.hostname
1805
+ }
1806
+
1807
+
1808
+ if (
1809
+ isProxyHost
1810
+ && !isSpecialCase
1811
+ ) {
1812
+
1813
+ hostname = scheme + '://'+ (local.req.headers.host||local.req.headers[':host']||process.gina.PROXY_HOST);
1814
+
1815
+ if (
1816
+ !/^(80|443)$/.test(requestPort)
1817
+ && !new RegExp(requestPort+'$').test(hostname)
1818
+ ) {
1819
+ hostname += ':'+ requestPort;
1820
+ }
1821
+ }
1822
+
1673
1823
  switch(type){
1674
1824
  case 'css':
1675
1825
  for (; r < rLen; ++r) {
@@ -1895,9 +2045,9 @@ function SuperController(options) {
1895
2045
  // ignoreWebRoot = false
1896
2046
  // } else
1897
2047
  if (typeof(res) === 'string' || typeof(res) === 'number' || typeof(res) === 'boolean') {
1898
- if ( /true|1/.test(res) ) {
2048
+ if ( /^(true|1)$/i.test(res) ) {
1899
2049
  ignoreWebRoot = true
1900
- } else if ( /false|0/.test(res) ) {
2050
+ } else if ( /^(false|0)$/i.test(res) ) {
1901
2051
  ignoreWebRoot = false
1902
2052
  } else {
1903
2053
  res = local.res;
@@ -2015,8 +2165,37 @@ function SuperController(options) {
2015
2165
 
2016
2166
  if ( !self.forward404Unless(condition, req, res) ) { // forward to 404 if bad route
2017
2167
 
2018
- var isProxyHost = ( typeof(local.req.headers.host) != 'undefined' && local.options.conf.server.scheme +'://'+ local.req.headers.host != local.options.conf.hostname || typeof(local.req.headers[':authority']) != 'undefined' && local.options.conf.server.scheme +'://'+ local.req.headers[':authority'] != local.options.conf.hostname ) ? true : false;
2019
- var hostname = (isProxyHost) ? ctx.config.envConf[bundle][env].hostname.replace(/\:\d+$/, '') : ctx.config.envConf[bundle][env].hostname;
2168
+ var localRequestPort = local.req.headers.port || local.req.headers[':port'];
2169
+ var isProxyHost = (
2170
+ typeof(local.req.headers.host) != 'undefined'
2171
+ && typeof(localRequestPort) != 'undefined'
2172
+ && /^(80|443)$/.test(localRequestPort)
2173
+ && local.options.conf.server.scheme +'://'+ local.req.headers.host +':'+ localRequestPort != local.options.conf.hostname.replace(/\:\d+$/, '') +':'+ local.options.conf.server.port
2174
+ ||
2175
+ typeof(local.req.headers[':authority']) != 'undefined'
2176
+ && local.options.conf.server.scheme +'://'+ local.req.headers[':authority'] != local.options.conf.hostname
2177
+ ||
2178
+ typeof(local.req.headers.host) != 'undefined'
2179
+ && typeof(localRequestPort) != 'undefined'
2180
+ && /^(80|443)$/.test(localRequestPort)
2181
+ && req.headers.host == local.options.conf.host
2182
+ ||
2183
+ typeof(local.req.headers['x-nginx-proxy']) != 'undefined'
2184
+ && /^true$/i.test(local.req.headers['x-nginx-proxy'])
2185
+ ||
2186
+ typeof(process.gina.PROXY_HOSTNAME) != 'undefined'
2187
+ ) ? true : false;
2188
+
2189
+
2190
+
2191
+ var hostname = (isProxyHost)
2192
+ ? process.gina.PROXY_HOSTNAME
2193
+ : ctx.config.envConf[bundle][env].hostname;
2194
+
2195
+ // var hostname = (isProxyHost)
2196
+ // ? ctx.config.envConf._proxyHostname
2197
+ // : ctx.config.envConf[bundle][env].hostname;
2198
+
2020
2199
 
2021
2200
  // if ( !/\:\d+$/.test(req.headers.host) )
2022
2201
  // hostname = hostname.replace(/\:\d+$/, '');
@@ -2078,7 +2257,7 @@ function SuperController(options) {
2078
2257
  originalMethod && !/GET/i.test(originalMethod)
2079
2258
  ) { // trying to redirect using the wrong method ?
2080
2259
 
2081
- console.warn(new Error('Your are trying to redirect using the wrong method: `'+ req.method+'`.\nThis can often occur while redirecting from a controller to another controller or from a bundle to another.\nA redirection is not permitted in this scenario.\nD\'ont panic :)\nSwitching request method to `GET` method instead.\n').message);
2260
+ console.warn(new Error('Your are trying to redirect using the wrong method: `'+ req.method+'`.\nThis can often occur while redirecting from a controller to another controller or from a bundle to another.\nA redirection is not permitted in this scenario.\nDon\'t panic :)\nSwitching request method to `GET` method instead.\n').message);
2082
2261
  method = local.req.method = self.setRequestMethod('GET', conf);
2083
2262
  code = 303;
2084
2263
  }
@@ -2750,9 +2929,10 @@ function SuperController(options) {
2750
2929
  }
2751
2930
  }
2752
2931
 
2753
- var ctx = getContext()
2754
- , protocol = null
2755
- , scheme = null
2932
+ var ctx = getContext()
2933
+ , protocol = null
2934
+ , scheme = null
2935
+ , isProxyHost = getContext('isProxyHost')
2756
2936
  ;
2757
2937
  // cleanup options.path
2758
2938
  if (/\:\/\//.test(options.path)) {
@@ -2785,6 +2965,7 @@ function SuperController(options) {
2785
2965
  var bundle = ( options.hostname.replace(/(.*)\:\/\//, '') ).split(/\@/)[0];
2786
2966
 
2787
2967
  // No shorcut possible because conf.hostname might differ from user inputs
2968
+
2788
2969
  options.host = ctx.gina.config.envConf[bundle][ctx.env].host.replace(/(.*)\:\/\//, '').replace(/\:\d+/, '');
2789
2970
  options.hostname = ctx.gina.config.envConf[bundle][ctx.env].hostname;
2790
2971
  options.port = ctx.gina.config.envConf[bundle][ctx.env].server.port;
@@ -2797,6 +2978,14 @@ function SuperController(options) {
2797
2978
  options.ca = ctx.gina.config.envConf[bundle][ctx.env].server.credentials.ca;
2798
2979
  }
2799
2980
 
2981
+ // if (
2982
+ // /^true$/i.test(isProxyHost)
2983
+ // && typeof(options.hostname) != 'undefined'
2984
+ // ) {
2985
+ // options.hostname = process.gina.PROXY_HOSTNAME;
2986
+ // options.host = process.gina.PROXY_HOST;
2987
+ // options.port = process.gina.PROXY_PORT;
2988
+ // }
2800
2989
  // might be != from the bundle requesting
2801
2990
  //options.protocol = ctx.gina.config.envConf[bundle][ctx.env].content.settings.server.protocol || ctx.gina.config.envConf[bundle][ctx.env].server.protocol;
2802
2991
  //options.scheme = ctx.gina.config.envConf[bundle][ctx.env].content.settings.server.scheme || ctx.gina.config.envConf[bundle][ctx.env].server.scheme;
@@ -3560,24 +3749,28 @@ function SuperController(options) {
3560
3749
  *
3561
3750
  * */
3562
3751
  this.getConfig = function(name) {
3752
+ var tmp = null;
3563
3753
  if ( typeof(name) != 'undefined' ) {
3564
3754
  try {
3565
- // needs to be read only
3566
- //config = JSON.clone(local.options.conf.content[name]);
3567
- //config = Object.freeze(local.options.conf.content[name]);
3568
- //Object.seal(local.options.conf.content[name]);
3569
- //Object.freeze(local.options.conf.content[name]);
3570
- // if ( self.isCacheless() ) {
3571
- // }
3572
- return JSON.clone(local.options.conf.content[name]);
3755
+ // Needs to be read only
3756
+ tmp = JSON.clone(local.options.conf.content[name]);
3573
3757
  } catch (err) {
3574
3758
  return undefined;
3575
3759
  }
3576
3760
  } else {
3577
- // config = JSON.stringify(local.options.conf);
3578
- // return JSON.parse(config)
3579
- return JSON.clone(local.options.conf);
3761
+ tmp = JSON.clone(local.options.conf);
3762
+ }
3763
+
3764
+ if (
3765
+ getContext('isProxyHost')
3766
+ && typeof(tmp.hostname) != 'undefined'
3767
+ ) {
3768
+ tmp.hostname = process.gina.PROXY_HOSTNAME;
3769
+ tmp.host = process.gina.PROXY_HOST;
3770
+ // tmp.hostname = getContext('gina').config.envConf._proxyHostname
3771
+ // tmp.host = tmp.hostname.replace(/^(https|http)\:\/\//, '');
3580
3772
  }
3773
+ return tmp;
3581
3774
  }
3582
3775
 
3583
3776
  /**
@@ -212,10 +212,58 @@ gna.env = process.env.NODE_ENV = env;
212
212
  gna.scope = process.env.NODE_SCOPE = scope;
213
213
  gna.os.isWin32 = process.env.isWin32 = isWin32;
214
214
  gna.isAborting = false;
215
- //Cahceless is also defined in the main config : Config::isCacheless().
215
+ //Cacheless is also defined in the main config : Config::isCacheless().
216
216
  process.env.NODE_ENV_IS_DEV = (/^true$/i.test(isDev)) ? true : false;
217
217
  process.env.NODE_SCOPE_IS_LOCAL = (/^true$/i.test(isLocalScope)) ? true : false;
218
218
  process.env.NODE_SCOPE_IS_PRODUCTION = (/^true$/i.test(isProductionScope)) ? true : false;
219
+ // Proxy check
220
+ var proxyPathObj = new _(projects[projectName].path + '/proxy.json', true);
221
+ var proxy = null;
222
+ if ( proxyPathObj.existsSync() ) {
223
+ try {
224
+ var proxyColl = requireJSON(proxyPathObj.toString());
225
+ proxy = new lib.Collection(proxyColl).findOne({ scope: process.env.NODE_SCOPE, env: process.env.NODE_ENV });
226
+ proxyColl = null;
227
+ } catch (proxyErr) {
228
+ console.error('[ FRAMEWORK ][ configurationError ] ', proxyErr.stack || proxyErr.message || proxyErr);
229
+ }
230
+
231
+ if (proxy) {
232
+ gna.proxyHostname = process.gina.PROXY_HOSTNAME = proxy.hostname;
233
+ gna.proxyHost = process.gina.PROXY_HOST = proxy.hostname
234
+ .replace(/^(https|http)\:\/\//g, '')
235
+ .replace(/\:\d+\/$|\:\d+$/, '')
236
+ ;
237
+ var proxyPort = gna.proxyHostname.match(/\:\d+\/$|\:\d+$/) || null;
238
+ if (proxyPort) {
239
+ proxyPort = parseInt(proxyPort[0].match(/\d+/));
240
+ } else {
241
+ var foundScheme = gna.proxyHostname.match(/^(https|http)\:\/\//g)[0].replace(/\:\/\//g, '');
242
+ switch (foundScheme) {
243
+ case 'https':
244
+ proxyPort = 443;
245
+ break;
246
+ case 'ftp':
247
+ proxyPort = 21;
248
+ break;
249
+ case 'sftp':
250
+ proxyPort = 22;
251
+ break;
252
+ default:
253
+ proxyPort = 80;
254
+ break;
255
+ }
256
+ foundScheme = null;
257
+ }
258
+ gna.proxyPort = process.gina.PROXY_PORT = parseInt(proxyPort);
259
+
260
+ var isProxyHost = (
261
+ typeof(process.gina.PROXY_HOSTNAME) != 'undefined'
262
+ ) ? true : false;
263
+ // Forcing context - also available for workers
264
+ setContext('isProxyHost', isProxyHost);
265
+ }
266
+ }
219
267
 
220
268
 
221
269
  var bundlesPath = (isDev) ? projects[projectName]['path'] + '/src' : projects[projectName]['path'] + '/bundles';
@@ -463,7 +511,12 @@ gna.mount = process.mount = function(bundlesPath, source, target, type, callback
463
511
 
464
512
  // hack to test none-dev env without building: in case you did not build your bundle, but you have the src available
465
513
  if (!isSourceFound && !isDev) {
466
- var srcPathObj = new _( root +'/'+ gna.project.bundles[gna.core.startingApp].src);
514
+ var srcPathObj = null;
515
+ try {
516
+ srcPathObj = new _( root +'/'+ gna.project.bundles[gna.core.startingApp].src);
517
+ } catch (buildError) {
518
+ return callback( new Error('Built not found for your selected scope !'));
519
+ }
467
520
  if ( srcPathObj.existsSync() ) {
468
521
  var d =(d = _(source).split(/\//g)).splice(0, d.length-1).join('/');
469
522
  var destinationObj = new _(d);
@@ -552,22 +605,20 @@ isBundleMounted(projects, bundlesPath, getContext('bundle'), function onBundleMo
552
605
 
553
606
  joinContext(conf.contexts);
554
607
  gna.getConfig = function(name){
555
- // var tmp = '';
608
+ var tmp = null;
556
609
  if ( typeof(name) != 'undefined' ) {
557
610
  try {
558
611
  //Protect it.
559
- // tmp = JSON.stringify(conf.content[name]);
560
- // return JSON.parse(tmp)
561
- return JSON.clone(conf.content[name])
612
+ tmp = JSON.clone(conf.content[name])
562
613
  } catch (err) {
563
614
  console.error('[ FRAMEWORK ] ', err.stack);
564
615
  return undefined
565
616
  }
566
617
  } else {
567
- // tmp = JSON.stringify(conf);
568
- // return JSON.parse(tmp)
569
- return JSON.clone(conf)
618
+ //Protect it.
619
+ tmp = JSON.clone(conf)
570
620
  }
621
+ return tmp
571
622
  };
572
623
  try {
573
624
  //configureMiddleware(instance, express); // no, no and no...
@@ -871,6 +922,7 @@ isBundleMounted(projects, bundlesPath, getContext('bundle'), function onBundleMo
871
922
  if (
872
923
  conf.server.scheme == 'https'
873
924
  && !/^true$/i.test(process.env.NODE_SCOPE_IS_PRODUCTION)
925
+ && !/^true$/i.test(isProxyHost)
874
926
  ) {
875
927
  try {
876
928
  await server.verifyCertificate(conf.host, conf.server.port);
@@ -1276,6 +1276,13 @@
1276
1276
  // } else { // external - need to remove `X-Requested-With` from `options.headers`
1277
1277
  result.location = (!/^http/.test(result.location) && !/^\//.test(result.location) ) ? location.protocol +'//' + result.location : result.location;
1278
1278
  //}
1279
+ // isProxyHost ?
1280
+ if (
1281
+ result.location.replace(/^http(.*)\:\d+/, '$1').replace(/^\:\/\//, '').split(/\//g)[0] == gina.config.hostname
1282
+ && gina.config.hostname == window.location.host
1283
+ ) {
1284
+ result.location = location.protocol + result.location.replace(/^http(.*)\:\d+/, '$1').replace(/^\:/, '')
1285
+ }
1279
1286
 
1280
1287
  return setTimeout(() => {
1281
1288
  window.location.href = result.location;