jimpex 7.0.2 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +93 -0
- package/LICENSE +1 -1
- package/README.md +447 -435
- package/dist/app/index.d.mts +14 -0
- package/dist/app/index.d.ts +14 -0
- package/dist/app/index.js +23 -0
- package/dist/app/index.js.map +1 -0
- package/dist/app/jimpex.d.mts +14 -0
- package/dist/app/jimpex.d.ts +14 -0
- package/dist/app/jimpex.js +665 -0
- package/dist/app/jimpex.js.map +1 -0
- package/dist/controllers/common/config.d.mts +79 -0
- package/dist/controllers/common/config.d.ts +79 -0
- package/dist/controllers/common/config.js +107 -0
- package/dist/controllers/common/config.js.map +1 -0
- package/dist/controllers/common/health.d.mts +83 -0
- package/dist/controllers/common/health.d.ts +83 -0
- package/dist/controllers/common/health.js +115 -0
- package/dist/controllers/common/health.js.map +1 -0
- package/dist/controllers/common/index.d.mts +21 -0
- package/dist/controllers/common/index.d.ts +21 -0
- package/dist/controllers/common/index.js +27 -0
- package/dist/controllers/common/index.js.map +1 -0
- package/dist/controllers/common/statics.d.mts +215 -0
- package/dist/controllers/common/statics.d.ts +215 -0
- package/dist/controllers/common/statics.js +253 -0
- package/dist/controllers/common/statics.js.map +1 -0
- package/dist/controllers/index.d.mts +24 -0
- package/dist/controllers/index.d.ts +24 -0
- package/dist/controllers/index.js +25 -0
- package/dist/controllers/index.js.map +1 -0
- package/dist/controllers/utils/gateway.d.mts +725 -0
- package/dist/controllers/utils/gateway.d.ts +725 -0
- package/dist/controllers/utils/gateway.js +577 -0
- package/dist/controllers/utils/gateway.js.map +1 -0
- package/dist/controllers/utils/index.d.mts +17 -0
- package/dist/controllers/utils/index.d.ts +17 -0
- package/dist/controllers/utils/index.js +23 -0
- package/dist/controllers/utils/index.js.map +1 -0
- package/dist/esm/app/index.js +2 -0
- package/dist/esm/app/index.js.map +1 -0
- package/dist/esm/app/jimpex.js +636 -0
- package/dist/esm/app/jimpex.js.map +1 -0
- package/dist/esm/chunk-2B2CG5KL.js +11 -0
- package/dist/esm/chunk-2B2CG5KL.js.map +1 -0
- package/dist/esm/controllers/common/config.js +80 -0
- package/dist/esm/controllers/common/config.js.map +1 -0
- package/dist/esm/controllers/common/health.js +88 -0
- package/dist/esm/controllers/common/health.js.map +1 -0
- package/dist/esm/controllers/common/index.js +4 -0
- package/dist/esm/controllers/common/index.js.map +1 -0
- package/dist/esm/controllers/common/statics.js +220 -0
- package/dist/esm/controllers/common/statics.js.map +1 -0
- package/dist/esm/controllers/index.js +3 -0
- package/dist/esm/controllers/index.js.map +1 -0
- package/dist/esm/controllers/utils/gateway.js +556 -0
- package/dist/esm/controllers/utils/gateway.js.map +1 -0
- package/dist/esm/controllers/utils/index.js +2 -0
- package/dist/esm/controllers/utils/index.js.map +1 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/middlewares/common/errorHandler.js +116 -0
- package/dist/esm/middlewares/common/errorHandler.js.map +1 -0
- package/dist/esm/middlewares/common/forceHTTPS.js +53 -0
- package/dist/esm/middlewares/common/forceHTTPS.js.map +1 -0
- package/dist/esm/middlewares/common/hsts.js +74 -0
- package/dist/esm/middlewares/common/hsts.js.map +1 -0
- package/dist/esm/middlewares/common/index.js +4 -0
- package/dist/esm/middlewares/common/index.js.map +1 -0
- package/dist/esm/middlewares/html/fastHTML.js +158 -0
- package/dist/esm/middlewares/html/fastHTML.js.map +1 -0
- package/dist/esm/middlewares/html/index.js +3 -0
- package/dist/esm/middlewares/html/index.js.map +1 -0
- package/dist/esm/middlewares/html/showHTML.js +100 -0
- package/dist/esm/middlewares/html/showHTML.js.map +1 -0
- package/dist/esm/middlewares/index.js +4 -0
- package/dist/esm/middlewares/index.js.map +1 -0
- package/dist/esm/middlewares/utils/index.js +2 -0
- package/dist/esm/middlewares/utils/index.js.map +1 -0
- package/dist/esm/middlewares/utils/versionValidator.js +135 -0
- package/dist/esm/middlewares/utils/versionValidator.js.map +1 -0
- package/dist/esm/services/common/appError.js +98 -0
- package/dist/esm/services/common/appError.js.map +1 -0
- package/dist/esm/services/common/httpError.js +28 -0
- package/dist/esm/services/common/httpError.js.map +1 -0
- package/dist/esm/services/common/index.js +17 -0
- package/dist/esm/services/common/index.js.map +1 -0
- package/dist/esm/services/common/sendFile.js +27 -0
- package/dist/esm/services/common/sendFile.js.map +1 -0
- package/dist/esm/services/frontend/frontendFs.js +66 -0
- package/dist/esm/services/frontend/frontendFs.js.map +1 -0
- package/dist/esm/services/frontend/index.js +11 -0
- package/dist/esm/services/frontend/index.js.map +1 -0
- package/dist/esm/services/html/htmlGenerator.js +194 -0
- package/dist/esm/services/html/htmlGenerator.js.map +1 -0
- package/dist/esm/services/html/index.js +11 -0
- package/dist/esm/services/html/index.js.map +1 -0
- package/dist/esm/services/http/apiClient.js +97 -0
- package/dist/esm/services/http/apiClient.js.map +1 -0
- package/dist/esm/services/http/http.js +174 -0
- package/dist/esm/services/http/http.js.map +1 -0
- package/dist/esm/services/http/index.js +17 -0
- package/dist/esm/services/http/index.js.map +1 -0
- package/dist/esm/services/http/responsesBuilder.js +152 -0
- package/dist/esm/services/http/responsesBuilder.js.map +1 -0
- package/dist/esm/services/index.js +6 -0
- package/dist/esm/services/index.js.map +1 -0
- package/dist/esm/services/utils/ensureBearerToken.js +94 -0
- package/dist/esm/services/utils/ensureBearerToken.js.map +1 -0
- package/dist/esm/services/utils/index.js +11 -0
- package/dist/esm/services/utils/index.js.map +1 -0
- package/dist/esm/types/events.js +1 -0
- package/dist/esm/types/events.js.map +1 -0
- package/dist/esm/types/express.js +1 -0
- package/dist/esm/types/express.js.map +1 -0
- package/dist/esm/types/http.js +1 -0
- package/dist/esm/types/http.js.map +1 -0
- package/dist/esm/types/index.js +7 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/options.js +1 -0
- package/dist/esm/types/options.js.map +1 -0
- package/dist/esm/types/utils.js +1 -0
- package/dist/esm/types/utils.js.map +1 -0
- package/dist/esm/types/wootils.js +1 -0
- package/dist/esm/types/wootils.js.map +1 -0
- package/dist/esm/utils/fns/index.js +5 -0
- package/dist/esm/utils/fns/index.js.map +1 -0
- package/dist/esm/utils/fns/others.js +6 -0
- package/dist/esm/utils/fns/others.js.map +1 -0
- package/dist/esm/utils/fns/routes.js +25 -0
- package/dist/esm/utils/fns/routes.js.map +1 -0
- package/dist/esm/utils/fns/statuses.js +6 -0
- package/dist/esm/utils/fns/statuses.js.map +1 -0
- package/dist/esm/utils/fns/text.js +6 -0
- package/dist/esm/utils/fns/text.js.map +1 -0
- package/dist/esm/utils/index.js +3 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/wrappers.js +41 -0
- package/dist/esm/utils/wrappers.js.map +1 -0
- package/dist/index-b2a04c78.d.ts +1282 -0
- package/dist/index-efeb437e.d.ts +1282 -0
- package/dist/index.d.mts +46 -0
- package/dist/index.d.ts +46 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/middlewares/common/errorHandler.d.mts +132 -0
- package/dist/middlewares/common/errorHandler.d.ts +132 -0
- package/dist/middlewares/common/errorHandler.js +143 -0
- package/dist/middlewares/common/errorHandler.js.map +1 -0
- package/dist/middlewares/common/forceHTTPS.d.mts +69 -0
- package/dist/middlewares/common/forceHTTPS.d.ts +69 -0
- package/dist/middlewares/common/forceHTTPS.js +80 -0
- package/dist/middlewares/common/forceHTTPS.js.map +1 -0
- package/dist/middlewares/common/hsts.d.mts +110 -0
- package/dist/middlewares/common/hsts.d.ts +110 -0
- package/dist/middlewares/common/hsts.js +101 -0
- package/dist/middlewares/common/hsts.js.map +1 -0
- package/dist/middlewares/common/index.d.mts +22 -0
- package/dist/middlewares/common/index.d.ts +22 -0
- package/dist/middlewares/common/index.js +27 -0
- package/dist/middlewares/common/index.js.map +1 -0
- package/dist/middlewares/html/fastHTML.d.mts +180 -0
- package/dist/middlewares/html/fastHTML.d.ts +180 -0
- package/dist/middlewares/html/fastHTML.js +185 -0
- package/dist/middlewares/html/fastHTML.js.map +1 -0
- package/dist/middlewares/html/index.d.mts +21 -0
- package/dist/middlewares/html/index.d.ts +21 -0
- package/dist/middlewares/html/index.js +25 -0
- package/dist/middlewares/html/index.js.map +1 -0
- package/dist/middlewares/html/showHTML.d.mts +127 -0
- package/dist/middlewares/html/showHTML.d.ts +127 -0
- package/dist/middlewares/html/showHTML.js +127 -0
- package/dist/middlewares/html/showHTML.js.map +1 -0
- package/dist/middlewares/index.d.mts +30 -0
- package/dist/middlewares/index.d.ts +30 -0
- package/dist/middlewares/index.js +27 -0
- package/dist/middlewares/index.js.map +1 -0
- package/dist/middlewares/utils/index.d.mts +20 -0
- package/dist/middlewares/utils/index.d.ts +20 -0
- package/dist/middlewares/utils/index.js +23 -0
- package/dist/middlewares/utils/index.js.map +1 -0
- package/dist/middlewares/utils/versionValidator.d.mts +215 -0
- package/dist/middlewares/utils/versionValidator.d.ts +215 -0
- package/dist/middlewares/utils/versionValidator.js +162 -0
- package/dist/middlewares/utils/versionValidator.js.map +1 -0
- package/dist/services/common/appError.d.mts +139 -0
- package/dist/services/common/appError.d.ts +139 -0
- package/dist/services/common/appError.js +126 -0
- package/dist/services/common/appError.js.map +1 -0
- package/dist/services/common/httpError.d.mts +80 -0
- package/dist/services/common/httpError.d.ts +80 -0
- package/dist/services/common/httpError.js +53 -0
- package/dist/services/common/httpError.js.map +1 -0
- package/dist/services/common/index.d.mts +47 -0
- package/dist/services/common/index.d.ts +47 -0
- package/dist/services/common/index.js +44 -0
- package/dist/services/common/index.js.map +1 -0
- package/dist/services/common/sendFile.d.mts +102 -0
- package/dist/services/common/sendFile.d.ts +102 -0
- package/dist/services/common/sendFile.js +51 -0
- package/dist/services/common/sendFile.js.map +1 -0
- package/dist/services/frontend/frontendFs.d.mts +96 -0
- package/dist/services/frontend/frontendFs.d.ts +96 -0
- package/dist/services/frontend/frontendFs.js +103 -0
- package/dist/services/frontend/frontendFs.js.map +1 -0
- package/dist/services/frontend/index.d.mts +40 -0
- package/dist/services/frontend/index.d.ts +40 -0
- package/dist/services/frontend/index.js +36 -0
- package/dist/services/frontend/index.js.map +1 -0
- package/dist/services/html/htmlGenerator.d.mts +237 -0
- package/dist/services/html/htmlGenerator.d.ts +237 -0
- package/dist/services/html/htmlGenerator.js +221 -0
- package/dist/services/html/htmlGenerator.js.map +1 -0
- package/dist/services/html/index.d.mts +43 -0
- package/dist/services/html/index.d.ts +43 -0
- package/dist/services/html/index.js +36 -0
- package/dist/services/html/index.js.map +1 -0
- package/dist/services/http/apiClient.d.mts +170 -0
- package/dist/services/http/apiClient.d.ts +170 -0
- package/dist/services/http/apiClient.js +122 -0
- package/dist/services/http/apiClient.js.map +1 -0
- package/dist/services/http/http.d.mts +176 -0
- package/dist/services/http/http.d.ts +176 -0
- package/dist/services/http/http.js +211 -0
- package/dist/services/http/http.js.map +1 -0
- package/dist/services/http/index.d.mts +51 -0
- package/dist/services/http/index.d.ts +51 -0
- package/dist/services/http/index.js +44 -0
- package/dist/services/http/index.js.map +1 -0
- package/dist/services/http/responsesBuilder.d.mts +179 -0
- package/dist/services/http/responsesBuilder.d.ts +179 -0
- package/dist/services/http/responsesBuilder.js +179 -0
- package/dist/services/http/responsesBuilder.js.map +1 -0
- package/dist/services/index.d.mts +33 -0
- package/dist/services/index.d.ts +33 -0
- package/dist/services/index.js +31 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/utils/ensureBearerToken.d.mts +158 -0
- package/dist/services/utils/ensureBearerToken.d.ts +158 -0
- package/dist/services/utils/ensureBearerToken.js +121 -0
- package/dist/services/utils/ensureBearerToken.js.map +1 -0
- package/dist/services/utils/index.d.mts +44 -0
- package/dist/services/utils/index.d.ts +44 -0
- package/dist/services/utils/index.js +36 -0
- package/dist/services/utils/index.js.map +1 -0
- package/dist/types/events.d.mts +14 -0
- package/dist/types/events.d.ts +14 -0
- package/dist/types/events.js +17 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/express.d.mts +10 -0
- package/dist/types/express.d.ts +10 -0
- package/dist/types/express.js +17 -0
- package/dist/types/express.js.map +1 -0
- package/dist/types/http.d.mts +79 -0
- package/dist/types/http.d.ts +79 -0
- package/dist/types/http.js +17 -0
- package/dist/types/http.js.map +1 -0
- package/dist/types/index.d.mts +14 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/index.js +33 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/options.d.mts +14 -0
- package/dist/types/options.d.ts +14 -0
- package/dist/types/options.js +17 -0
- package/dist/types/options.js.map +1 -0
- package/dist/types/utils.d.mts +48 -0
- package/dist/types/utils.d.ts +48 -0
- package/dist/types/utils.js +17 -0
- package/dist/types/utils.js.map +1 -0
- package/dist/types/wootils.d.mts +4 -0
- package/dist/types/wootils.d.ts +4 -0
- package/dist/types/wootils.js +17 -0
- package/dist/types/wootils.js.map +1 -0
- package/dist/utils/fns/index.d.mts +5 -0
- package/dist/utils/fns/index.d.ts +5 -0
- package/dist/utils/fns/index.js +29 -0
- package/dist/utils/fns/index.js.map +1 -0
- package/dist/utils/fns/others.d.mts +17 -0
- package/dist/utils/fns/others.d.ts +17 -0
- package/dist/utils/fns/others.js +29 -0
- package/dist/utils/fns/others.js.map +1 -0
- package/dist/utils/fns/routes.d.mts +39 -0
- package/dist/utils/fns/routes.d.ts +39 -0
- package/dist/utils/fns/routes.js +51 -0
- package/dist/utils/fns/routes.js.map +1 -0
- package/dist/utils/fns/statuses.d.mts +45 -0
- package/dist/utils/fns/statuses.d.ts +45 -0
- package/dist/utils/fns/statuses.js +39 -0
- package/dist/utils/fns/statuses.js.map +1 -0
- package/dist/utils/fns/text.d.mts +9 -0
- package/dist/utils/fns/text.d.ts +9 -0
- package/dist/utils/fns/text.js +29 -0
- package/dist/utils/fns/text.js.map +1 -0
- package/dist/utils/index.d.mts +19 -0
- package/dist/utils/index.d.ts +19 -0
- package/dist/utils/index.js +25 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/wrappers.d.mts +14 -0
- package/dist/utils/wrappers.d.ts +14 -0
- package/dist/utils/wrappers.js +68 -0
- package/dist/utils/wrappers.js.map +1 -0
- package/examples/basic/404.html +12 -0
- package/examples/basic/README.md +30 -0
- package/examples/basic/app.ts +18 -0
- package/examples/basic/controller.ts +45 -0
- package/examples/basic/index.ts +19 -0
- package/examples/basic/middleware.ts +13 -0
- package/examples/basic/service.ts +11 -0
- package/package.json +60 -39
- package/src/app/index.ts +1 -0
- package/src/app/jimpex.ts +743 -0
- package/src/controllers/common/config.ts +115 -0
- package/src/controllers/common/health.ts +128 -0
- package/src/controllers/common/index.ts +3 -0
- package/src/controllers/common/statics.ts +380 -0
- package/src/controllers/index.ts +2 -0
- package/src/controllers/utils/gateway.ts +1186 -0
- package/src/controllers/utils/index.ts +1 -0
- package/src/index.ts +6 -0
- package/src/middlewares/common/errorHandler.ts +203 -0
- package/src/middlewares/common/forceHTTPS.ts +83 -0
- package/src/middlewares/common/hsts.ts +135 -0
- package/src/middlewares/common/index.ts +3 -0
- package/src/middlewares/html/fastHTML.ts +255 -0
- package/src/middlewares/html/index.ts +2 -0
- package/src/middlewares/html/showHTML.ts +165 -0
- package/src/middlewares/index.ts +3 -0
- package/src/middlewares/utils/index.ts +1 -0
- package/src/middlewares/utils/versionValidator.ts +289 -0
- package/src/services/common/appError.ts +158 -0
- package/src/services/common/httpError.ts +74 -0
- package/src/services/common/index.ts +29 -0
- package/src/services/common/sendFile.ts +106 -0
- package/src/services/frontend/frontendFs.ts +101 -0
- package/src/services/frontend/index.ts +21 -0
- package/src/services/html/htmlGenerator.ts +356 -0
- package/src/services/html/index.ts +21 -0
- package/src/services/http/apiClient.ts +221 -0
- package/src/services/http/http.ts +286 -0
- package/src/services/http/index.ts +29 -0
- package/src/services/http/responsesBuilder.ts +265 -0
- package/src/services/index.ts +5 -0
- package/src/services/utils/ensureBearerToken.ts +202 -0
- package/src/services/utils/index.ts +21 -0
- package/src/types/events.ts +303 -0
- package/src/types/express.ts +21 -0
- package/src/types/http.ts +77 -0
- package/src/types/index.ts +6 -0
- package/src/types/options.ts +248 -0
- package/src/types/utils.ts +52 -0
- package/src/types/wootils.ts +4 -0
- package/src/utils/fns/index.ts +4 -0
- package/src/utils/fns/others.ts +15 -0
- package/src/utils/fns/routes.ts +64 -0
- package/src/utils/fns/statuses.ts +44 -0
- package/src/utils/fns/text.ts +8 -0
- package/src/utils/index.ts +2 -0
- package/src/utils/wrappers.ts +537 -0
- package/tsconfig.json +5 -8
- package/tsup.config.ts +10 -0
- package/src/app/index.js +0 -692
- package/src/constants/eventNames.js +0 -48
- package/src/constants/index.js +0 -7
- package/src/controllers/common/configuration.js +0 -116
- package/src/controllers/common/health.js +0 -79
- package/src/controllers/common/index.js +0 -7
- package/src/controllers/common/statics.js +0 -336
- package/src/controllers/index.js +0 -9
- package/src/controllers/utils/gateway.js +0 -1039
- package/src/controllers/utils/index.js +0 -3
- package/src/index.js +0 -30
- package/src/middlewares/common/errorHandler.js +0 -185
- package/src/middlewares/common/forceHTTPS.js +0 -80
- package/src/middlewares/common/hsts.js +0 -122
- package/src/middlewares/common/index.js +0 -7
- package/src/middlewares/html/fastHTML.js +0 -298
- package/src/middlewares/html/index.js +0 -5
- package/src/middlewares/html/showHTML.js +0 -167
- package/src/middlewares/index.js +0 -11
- package/src/middlewares/utils/index.js +0 -3
- package/src/middlewares/utils/versionValidator.js +0 -261
- package/src/services/common/appError.js +0 -136
- package/src/services/common/httpError.js +0 -60
- package/src/services/common/index.js +0 -25
- package/src/services/common/sendFile.js +0 -68
- package/src/services/frontend/frontendFs.js +0 -85
- package/src/services/frontend/index.js +0 -17
- package/src/services/html/htmlGenerator.js +0 -391
- package/src/services/html/index.js +0 -17
- package/src/services/http/apiClient.js +0 -148
- package/src/services/http/http.js +0 -256
- package/src/services/http/index.js +0 -25
- package/src/services/http/responsesBuilder.js +0 -193
- package/src/services/index.js +0 -15
- package/src/services/utils/ensureBearerToken.js +0 -147
- package/src/services/utils/index.js +0 -19
- package/src/types.js +0 -377
- package/src/utils/functions.js +0 -78
- package/src/utils/wrappers.js +0 -131
- package/types/app/index.d.ts +0 -417
- package/types/constants/eventNames.d.ts +0 -93
- package/types/constants/index.d.ts +0 -2
- package/types/controllers/common/configuration.d.ts +0 -71
- package/types/controllers/common/health.d.ts +0 -55
- package/types/controllers/common/index.d.ts +0 -4
- package/types/controllers/common/statics.d.ts +0 -271
- package/types/controllers/index.d.ts +0 -3
- package/types/controllers/utils/gateway.d.ts +0 -947
- package/types/controllers/utils/index.d.ts +0 -2
- package/types/index.d.ts +0 -15
- package/types/middlewares/common/errorHandler.d.ts +0 -143
- package/types/middlewares/common/forceHTTPS.d.ts +0 -64
- package/types/middlewares/common/hsts.d.ts +0 -111
- package/types/middlewares/common/index.d.ts +0 -4
- package/types/middlewares/html/fastHTML.d.ts +0 -238
- package/types/middlewares/html/index.d.ts +0 -3
- package/types/middlewares/html/showHTML.d.ts +0 -128
- package/types/middlewares/index.d.ts +0 -4
- package/types/middlewares/utils/index.d.ts +0 -2
- package/types/middlewares/utils/versionValidator.d.ts +0 -247
- package/types/services/common/appError.d.ts +0 -89
- package/types/services/common/httpError.d.ts +0 -37
- package/types/services/common/index.d.ts +0 -18
- package/types/services/common/sendFile.d.ts +0 -56
- package/types/services/frontend/frontendFs.d.ts +0 -72
- package/types/services/frontend/index.d.ts +0 -3
- package/types/services/html/htmlGenerator.d.ts +0 -298
- package/types/services/html/index.d.ts +0 -3
- package/types/services/http/apiClient.d.ts +0 -141
- package/types/services/http/http.d.ts +0 -159
- package/types/services/http/index.d.ts +0 -18
- package/types/services/http/responsesBuilder.d.ts +0 -140
- package/types/services/index.d.ts +0 -6
- package/types/services/utils/ensureBearerToken.d.ts +0 -137
- package/types/services/utils/index.d.ts +0 -16
- package/types/types.d.ts +0 -280
- package/types/utils/functions.d.ts +0 -55
- package/types/utils/wrappers.d.ts +0 -127
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import * as _homer0_jimple from '@homer0/jimple';
|
|
2
|
+
import { J as Jimpex, R as MiddlewareConnectFn } from '../../index-b2a04c78.js';
|
|
3
|
+
import { ExpressMiddleware } from '../../types/express.js';
|
|
4
|
+
import '../../types/http.js';
|
|
5
|
+
import 'https';
|
|
6
|
+
import 'http';
|
|
7
|
+
import 'spdy';
|
|
8
|
+
import 'express';
|
|
9
|
+
import 'node-fetch';
|
|
10
|
+
import '../../types/utils.js';
|
|
11
|
+
import '@homer0/path-utils';
|
|
12
|
+
import '@homer0/simple-logger';
|
|
13
|
+
import '@homer0/simple-config';
|
|
14
|
+
import '@homer0/events-hub';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The customization options for the middleware.
|
|
18
|
+
*
|
|
19
|
+
* @group Middlewares/ForceHTTPS
|
|
20
|
+
*/
|
|
21
|
+
type ForceHTTPSOptions = {
|
|
22
|
+
/**
|
|
23
|
+
* A list of regular expressions to match routes that should be ignored.
|
|
24
|
+
*
|
|
25
|
+
* @default [/^\/service\//]
|
|
26
|
+
*/
|
|
27
|
+
ignoredRoutes: RegExp[];
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* A partial version of the {@link ForceHTTPSOptions}, to be used in the constructor and
|
|
31
|
+
* the middleware creator.
|
|
32
|
+
*
|
|
33
|
+
* @group Middlewares/ForceHTTPS
|
|
34
|
+
*/
|
|
35
|
+
type ForceHTTPSPartialOptions = Partial<ForceHTTPSOptions>;
|
|
36
|
+
/**
|
|
37
|
+
* Creates a middleware that forces all the traffic to be through HTTPS.
|
|
38
|
+
*
|
|
39
|
+
* @group Middleware Classes
|
|
40
|
+
* @group Middlewares/ForceHTTPS
|
|
41
|
+
* @prettierignore
|
|
42
|
+
*/
|
|
43
|
+
declare class ForceHTTPS {
|
|
44
|
+
/**
|
|
45
|
+
* The customization options.
|
|
46
|
+
*/
|
|
47
|
+
protected readonly _options: ForceHTTPSOptions;
|
|
48
|
+
/**
|
|
49
|
+
* @param options The options to construct the class.
|
|
50
|
+
*/
|
|
51
|
+
constructor(options?: ForceHTTPSPartialOptions);
|
|
52
|
+
/**
|
|
53
|
+
* Generates the middleware that redirects the traffic.
|
|
54
|
+
*/
|
|
55
|
+
getMiddleware(): ExpressMiddleware;
|
|
56
|
+
/**
|
|
57
|
+
* The customization options.
|
|
58
|
+
*/
|
|
59
|
+
get options(): Readonly<ForceHTTPSOptions>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Creates the middleware that redirects the traffic to HTTPS.
|
|
63
|
+
*
|
|
64
|
+
* @group Middlewares
|
|
65
|
+
* @group Middlewares/ForceHTTPS
|
|
66
|
+
*/
|
|
67
|
+
declare const forceHTTPSMiddleware: _homer0_jimple.ResourceCreator<"middleware", "connect", (options?: ForceHTTPSPartialOptions) => <ContainerType extends Jimpex = Jimpex>(app: ContainerType) => ExpressMiddleware | undefined, MiddlewareConnectFn>;
|
|
68
|
+
|
|
69
|
+
export { ForceHTTPS, ForceHTTPSOptions, ForceHTTPSPartialOptions, forceHTTPSMiddleware };
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var __publicField = (obj, key, value) => {
|
|
21
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
22
|
+
return value;
|
|
23
|
+
};
|
|
24
|
+
var forceHTTPS_exports = {};
|
|
25
|
+
__export(forceHTTPS_exports, {
|
|
26
|
+
ForceHTTPS: () => ForceHTTPS,
|
|
27
|
+
forceHTTPSMiddleware: () => forceHTTPSMiddleware
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(forceHTTPS_exports);
|
|
30
|
+
var import_utils = require("../../utils");
|
|
31
|
+
class ForceHTTPS {
|
|
32
|
+
/**
|
|
33
|
+
* @param options The options to construct the class.
|
|
34
|
+
*/
|
|
35
|
+
constructor(options = {}) {
|
|
36
|
+
/**
|
|
37
|
+
* The customization options.
|
|
38
|
+
*/
|
|
39
|
+
__publicField(this, "_options");
|
|
40
|
+
this._options = {
|
|
41
|
+
ignoredRoutes: [/^\/service\//],
|
|
42
|
+
...options
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Generates the middleware that redirects the traffic.
|
|
47
|
+
*/
|
|
48
|
+
getMiddleware() {
|
|
49
|
+
return (req, res, next) => {
|
|
50
|
+
if (!req.secure && req.get("X-Forwarded-Proto") !== "https" && !this._options.ignoredRoutes.some(
|
|
51
|
+
(expression) => expression.test(req.originalUrl)
|
|
52
|
+
)) {
|
|
53
|
+
const host = req.get("Host");
|
|
54
|
+
res.redirect(`https://${host}${req.url}`);
|
|
55
|
+
} else {
|
|
56
|
+
next();
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The customization options.
|
|
62
|
+
*/
|
|
63
|
+
get options() {
|
|
64
|
+
return { ...this._options };
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const forceHTTPSMiddleware = (0, import_utils.middlewareCreator)(
|
|
68
|
+
(options = {}) => (app) => {
|
|
69
|
+
const enabled = app.getConfig("forceHTTPS");
|
|
70
|
+
if (!enabled)
|
|
71
|
+
return void 0;
|
|
72
|
+
return new ForceHTTPS(options).getMiddleware();
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
76
|
+
0 && (module.exports = {
|
|
77
|
+
ForceHTTPS,
|
|
78
|
+
forceHTTPSMiddleware
|
|
79
|
+
});
|
|
80
|
+
//# sourceMappingURL=forceHTTPS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/middlewares/common/forceHTTPS.ts"],"sourcesContent":["import { middlewareCreator } from '../../utils';\nimport { ExpressMiddleware } from '../../types';\n/**\n * The customization options for the middleware.\n *\n * @group Middlewares/ForceHTTPS\n */\nexport type ForceHTTPSOptions = {\n /**\n * A list of regular expressions to match routes that should be ignored.\n *\n * @default [/^\\/service\\//]\n */\n ignoredRoutes: RegExp[];\n};\n/**\n * A partial version of the {@link ForceHTTPSOptions}, to be used in the constructor and\n * the middleware creator.\n *\n * @group Middlewares/ForceHTTPS\n */\nexport type ForceHTTPSPartialOptions = Partial<ForceHTTPSOptions>;\n/**\n * Creates a middleware that forces all the traffic to be through HTTPS.\n *\n * @group Middleware Classes\n * @group Middlewares/ForceHTTPS\n * @prettierignore\n */\nexport class ForceHTTPS {\n /**\n * The customization options.\n */\n protected readonly _options: ForceHTTPSOptions;\n /**\n * @param options The options to construct the class.\n */\n constructor(options: ForceHTTPSPartialOptions = {}) {\n this._options = {\n ignoredRoutes: [/^\\/service\\//],\n ...options,\n };\n }\n /**\n * Generates the middleware that redirects the traffic.\n */\n getMiddleware(): ExpressMiddleware {\n return (req, res, next) => {\n if (\n !req.secure &&\n req.get('X-Forwarded-Proto') !== 'https' &&\n !this._options.ignoredRoutes.some((expression) =>\n expression.test(req.originalUrl),\n )\n ) {\n const host = req.get('Host');\n res.redirect(`https://${host}${req.url}`);\n } else {\n next();\n }\n };\n }\n /**\n * The customization options.\n */\n get options(): Readonly<ForceHTTPSOptions> {\n return { ...this._options };\n }\n}\n/**\n * Creates the middleware that redirects the traffic to HTTPS.\n *\n * @group Middlewares\n * @group Middlewares/ForceHTTPS\n */\nexport const forceHTTPSMiddleware = middlewareCreator(\n (options: ForceHTTPSPartialOptions = {}) =>\n (app) => {\n const enabled = app.getConfig<boolean | undefined>('forceHTTPS');\n if (!enabled) return undefined;\n return new ForceHTTPS(options).getMiddleware();\n },\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkC;AA6B3B,MAAM,WAAW;AAAA;AAAA;AAAA;AAAA,EAQtB,YAAY,UAAoC,CAAC,GAAG;AAJpD;AAAA;AAAA;AAAA,wBAAmB;AAKjB,SAAK,WAAW;AAAA,MACd,eAAe,CAAC,cAAc;AAAA,MAC9B,GAAG;AAAA,IACL;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAIA,gBAAmC;AACjC,WAAO,CAAC,KAAK,KAAK,SAAS;AACzB,UACE,CAAC,IAAI,UACL,IAAI,IAAI,mBAAmB,MAAM,WACjC,CAAC,KAAK,SAAS,cAAc;AAAA,QAAK,CAAC,eACjC,WAAW,KAAK,IAAI,WAAW;AAAA,MACjC,GACA;AACA,cAAM,OAAO,IAAI,IAAI,MAAM;AAC3B,YAAI,SAAS,WAAW,IAAI,GAAG,IAAI,GAAG,EAAE;AAAA,MAC1C,OAAO;AACL,aAAK;AAAA,MACP;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,UAAuC;AACzC,WAAO,EAAE,GAAG,KAAK,SAAS;AAAA,EAC5B;AACF;AAOO,MAAM,2BAAuB;AAAA,EAClC,CAAC,UAAoC,CAAC,MACpC,CAAC,QAAQ;AACP,UAAM,UAAU,IAAI,UAA+B,YAAY;AAC/D,QAAI,CAAC;AAAS,aAAO;AACrB,WAAO,IAAI,WAAW,OAAO,EAAE,cAAc;AAAA,EAC/C;AACJ;","names":[]}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import * as _homer0_jimple from '@homer0/jimple';
|
|
2
|
+
import { J as Jimpex, R as MiddlewareConnectFn } from '../../index-efeb437e.js';
|
|
3
|
+
import { ExpressMiddleware } from '../../types/express.mjs';
|
|
4
|
+
import '../../types/http.mjs';
|
|
5
|
+
import 'https';
|
|
6
|
+
import 'http';
|
|
7
|
+
import 'spdy';
|
|
8
|
+
import 'express';
|
|
9
|
+
import 'node-fetch';
|
|
10
|
+
import '../../types/utils.mjs';
|
|
11
|
+
import '@homer0/path-utils';
|
|
12
|
+
import '@homer0/simple-logger';
|
|
13
|
+
import '@homer0/simple-config';
|
|
14
|
+
import '@homer0/events-hub';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The options to customize the HSTS header value.
|
|
18
|
+
*
|
|
19
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security}
|
|
20
|
+
* @group Middlewares/HSTS
|
|
21
|
+
*/
|
|
22
|
+
type HSTSMiddlewareOptions = {
|
|
23
|
+
/**
|
|
24
|
+
* The time, in seconds, that the browser should remember that a site is only to be
|
|
25
|
+
* accessed using HTTPS.
|
|
26
|
+
*
|
|
27
|
+
* @default 31536000
|
|
28
|
+
*/
|
|
29
|
+
maxAge: number;
|
|
30
|
+
/**
|
|
31
|
+
* Whether or not the rule should apply to all sub domains.
|
|
32
|
+
*
|
|
33
|
+
* @default true
|
|
34
|
+
*/
|
|
35
|
+
includeSubDomains: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Whether or not to include on the major browsers'
|
|
38
|
+
* preload list. This directive is not part of the specification, for more information
|
|
39
|
+
* about it, you should check the MDN documentation for the header.
|
|
40
|
+
*
|
|
41
|
+
* @default false
|
|
42
|
+
*/
|
|
43
|
+
preload: boolean;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* A partial version of the {@link HSTSMiddlewareOptions}, to be used in the constructor
|
|
47
|
+
* and the middleware creator.
|
|
48
|
+
*
|
|
49
|
+
* @group Middlewares/HSTS
|
|
50
|
+
*/
|
|
51
|
+
type HSTSMiddlewarePartialOptions = Partial<HSTSMiddlewareOptions>;
|
|
52
|
+
/**
|
|
53
|
+
* The options for the middleware creator that will create the middleware, or not,
|
|
54
|
+
* depending on the `enabled` option.
|
|
55
|
+
*
|
|
56
|
+
* @group Middlewares/HSTS
|
|
57
|
+
*/
|
|
58
|
+
type HSTSMiddlewareSettings = HSTSMiddlewarePartialOptions & {
|
|
59
|
+
/**
|
|
60
|
+
* If it's not `true`, it won't return the middleware.
|
|
61
|
+
*/
|
|
62
|
+
enabled?: boolean;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Generates a middleware that includes the HSTS header on the responses.
|
|
66
|
+
*
|
|
67
|
+
* @see {@link https://tools.ietf.org/html/rfc6797}
|
|
68
|
+
* @group Middleware Classes
|
|
69
|
+
* @group Middlewares/HSTS
|
|
70
|
+
* @prettierignore
|
|
71
|
+
*/
|
|
72
|
+
declare class HSTS {
|
|
73
|
+
/**
|
|
74
|
+
* The customization options for the header.
|
|
75
|
+
*/
|
|
76
|
+
protected readonly _options: HSTSMiddlewareOptions;
|
|
77
|
+
/**
|
|
78
|
+
* The value of the header that will be included in the responses.
|
|
79
|
+
*/
|
|
80
|
+
protected readonly _header: string;
|
|
81
|
+
/**
|
|
82
|
+
* @param options The options to construct the class.
|
|
83
|
+
*/
|
|
84
|
+
constructor(options?: HSTSMiddlewarePartialOptions);
|
|
85
|
+
/**
|
|
86
|
+
* Generates the middleware that includes the HSTS header on the responses.
|
|
87
|
+
*/
|
|
88
|
+
getMiddleware(): ExpressMiddleware;
|
|
89
|
+
/**
|
|
90
|
+
* The customization options.
|
|
91
|
+
*/
|
|
92
|
+
get options(): Readonly<HSTSMiddlewareOptions>;
|
|
93
|
+
/**
|
|
94
|
+
* The value of the header that will be included in the responses.
|
|
95
|
+
*/
|
|
96
|
+
get header(): string;
|
|
97
|
+
/**
|
|
98
|
+
* Creates the header value based on the customization options.
|
|
99
|
+
*/
|
|
100
|
+
protected _buildHeader(): string;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Creates the middleware that includes the HSTS header on the responses.
|
|
104
|
+
*
|
|
105
|
+
* @group Middlewares
|
|
106
|
+
* @group Middlewares/HSTS
|
|
107
|
+
*/
|
|
108
|
+
declare const hstsMiddleware: _homer0_jimple.ResourceCreator<"middleware", "connect", (options?: HSTSMiddlewareSettings) => <ContainerType extends Jimpex = Jimpex>(app: ContainerType) => ExpressMiddleware | undefined, MiddlewareConnectFn>;
|
|
109
|
+
|
|
110
|
+
export { HSTS, HSTSMiddlewareOptions, HSTSMiddlewarePartialOptions, HSTSMiddlewareSettings, hstsMiddleware };
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import * as _homer0_jimple from '@homer0/jimple';
|
|
2
|
+
import { J as Jimpex, R as MiddlewareConnectFn } from '../../index-b2a04c78.js';
|
|
3
|
+
import { ExpressMiddleware } from '../../types/express.js';
|
|
4
|
+
import '../../types/http.js';
|
|
5
|
+
import 'https';
|
|
6
|
+
import 'http';
|
|
7
|
+
import 'spdy';
|
|
8
|
+
import 'express';
|
|
9
|
+
import 'node-fetch';
|
|
10
|
+
import '../../types/utils.js';
|
|
11
|
+
import '@homer0/path-utils';
|
|
12
|
+
import '@homer0/simple-logger';
|
|
13
|
+
import '@homer0/simple-config';
|
|
14
|
+
import '@homer0/events-hub';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The options to customize the HSTS header value.
|
|
18
|
+
*
|
|
19
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security}
|
|
20
|
+
* @group Middlewares/HSTS
|
|
21
|
+
*/
|
|
22
|
+
type HSTSMiddlewareOptions = {
|
|
23
|
+
/**
|
|
24
|
+
* The time, in seconds, that the browser should remember that a site is only to be
|
|
25
|
+
* accessed using HTTPS.
|
|
26
|
+
*
|
|
27
|
+
* @default 31536000
|
|
28
|
+
*/
|
|
29
|
+
maxAge: number;
|
|
30
|
+
/**
|
|
31
|
+
* Whether or not the rule should apply to all sub domains.
|
|
32
|
+
*
|
|
33
|
+
* @default true
|
|
34
|
+
*/
|
|
35
|
+
includeSubDomains: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Whether or not to include on the major browsers'
|
|
38
|
+
* preload list. This directive is not part of the specification, for more information
|
|
39
|
+
* about it, you should check the MDN documentation for the header.
|
|
40
|
+
*
|
|
41
|
+
* @default false
|
|
42
|
+
*/
|
|
43
|
+
preload: boolean;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* A partial version of the {@link HSTSMiddlewareOptions}, to be used in the constructor
|
|
47
|
+
* and the middleware creator.
|
|
48
|
+
*
|
|
49
|
+
* @group Middlewares/HSTS
|
|
50
|
+
*/
|
|
51
|
+
type HSTSMiddlewarePartialOptions = Partial<HSTSMiddlewareOptions>;
|
|
52
|
+
/**
|
|
53
|
+
* The options for the middleware creator that will create the middleware, or not,
|
|
54
|
+
* depending on the `enabled` option.
|
|
55
|
+
*
|
|
56
|
+
* @group Middlewares/HSTS
|
|
57
|
+
*/
|
|
58
|
+
type HSTSMiddlewareSettings = HSTSMiddlewarePartialOptions & {
|
|
59
|
+
/**
|
|
60
|
+
* If it's not `true`, it won't return the middleware.
|
|
61
|
+
*/
|
|
62
|
+
enabled?: boolean;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Generates a middleware that includes the HSTS header on the responses.
|
|
66
|
+
*
|
|
67
|
+
* @see {@link https://tools.ietf.org/html/rfc6797}
|
|
68
|
+
* @group Middleware Classes
|
|
69
|
+
* @group Middlewares/HSTS
|
|
70
|
+
* @prettierignore
|
|
71
|
+
*/
|
|
72
|
+
declare class HSTS {
|
|
73
|
+
/**
|
|
74
|
+
* The customization options for the header.
|
|
75
|
+
*/
|
|
76
|
+
protected readonly _options: HSTSMiddlewareOptions;
|
|
77
|
+
/**
|
|
78
|
+
* The value of the header that will be included in the responses.
|
|
79
|
+
*/
|
|
80
|
+
protected readonly _header: string;
|
|
81
|
+
/**
|
|
82
|
+
* @param options The options to construct the class.
|
|
83
|
+
*/
|
|
84
|
+
constructor(options?: HSTSMiddlewarePartialOptions);
|
|
85
|
+
/**
|
|
86
|
+
* Generates the middleware that includes the HSTS header on the responses.
|
|
87
|
+
*/
|
|
88
|
+
getMiddleware(): ExpressMiddleware;
|
|
89
|
+
/**
|
|
90
|
+
* The customization options.
|
|
91
|
+
*/
|
|
92
|
+
get options(): Readonly<HSTSMiddlewareOptions>;
|
|
93
|
+
/**
|
|
94
|
+
* The value of the header that will be included in the responses.
|
|
95
|
+
*/
|
|
96
|
+
get header(): string;
|
|
97
|
+
/**
|
|
98
|
+
* Creates the header value based on the customization options.
|
|
99
|
+
*/
|
|
100
|
+
protected _buildHeader(): string;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Creates the middleware that includes the HSTS header on the responses.
|
|
104
|
+
*
|
|
105
|
+
* @group Middlewares
|
|
106
|
+
* @group Middlewares/HSTS
|
|
107
|
+
*/
|
|
108
|
+
declare const hstsMiddleware: _homer0_jimple.ResourceCreator<"middleware", "connect", (options?: HSTSMiddlewareSettings) => <ContainerType extends Jimpex = Jimpex>(app: ContainerType) => ExpressMiddleware | undefined, MiddlewareConnectFn>;
|
|
109
|
+
|
|
110
|
+
export { HSTS, HSTSMiddlewareOptions, HSTSMiddlewarePartialOptions, HSTSMiddlewareSettings, hstsMiddleware };
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var __publicField = (obj, key, value) => {
|
|
21
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
22
|
+
return value;
|
|
23
|
+
};
|
|
24
|
+
var hsts_exports = {};
|
|
25
|
+
__export(hsts_exports, {
|
|
26
|
+
HSTS: () => HSTS,
|
|
27
|
+
hstsMiddleware: () => hstsMiddleware
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(hsts_exports);
|
|
30
|
+
var import_utils = require("../../utils");
|
|
31
|
+
class HSTS {
|
|
32
|
+
/**
|
|
33
|
+
* @param options The options to construct the class.
|
|
34
|
+
*/
|
|
35
|
+
constructor(options = {}) {
|
|
36
|
+
/**
|
|
37
|
+
* The customization options for the header.
|
|
38
|
+
*/
|
|
39
|
+
__publicField(this, "_options");
|
|
40
|
+
/**
|
|
41
|
+
* The value of the header that will be included in the responses.
|
|
42
|
+
*/
|
|
43
|
+
__publicField(this, "_header");
|
|
44
|
+
this._options = {
|
|
45
|
+
maxAge: 31536e3,
|
|
46
|
+
includeSubDomains: true,
|
|
47
|
+
preload: false,
|
|
48
|
+
...options
|
|
49
|
+
};
|
|
50
|
+
this._header = this._buildHeader();
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Generates the middleware that includes the HSTS header on the responses.
|
|
54
|
+
*/
|
|
55
|
+
getMiddleware() {
|
|
56
|
+
return (_, res, next) => {
|
|
57
|
+
res.setHeader("Strict-Transport-Security", this._header);
|
|
58
|
+
next();
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The customization options.
|
|
63
|
+
*/
|
|
64
|
+
get options() {
|
|
65
|
+
return { ...this._options };
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The value of the header that will be included in the responses.
|
|
69
|
+
*/
|
|
70
|
+
get header() {
|
|
71
|
+
return this._header;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Creates the header value based on the customization options.
|
|
75
|
+
*/
|
|
76
|
+
_buildHeader() {
|
|
77
|
+
const { maxAge, includeSubDomains, preload } = this._options;
|
|
78
|
+
const directives = [`max-age=${maxAge}`];
|
|
79
|
+
if (includeSubDomains) {
|
|
80
|
+
directives.push("includeSubDomains");
|
|
81
|
+
}
|
|
82
|
+
if (preload) {
|
|
83
|
+
directives.push("preload");
|
|
84
|
+
}
|
|
85
|
+
return directives.join("; ");
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
const hstsMiddleware = (0, import_utils.middlewareCreator)(
|
|
89
|
+
(options = {}) => (app) => {
|
|
90
|
+
const setting = app.getConfig("hsts");
|
|
91
|
+
if (!setting?.enabled || typeof options.enabled !== "undefined" && !options.enabled)
|
|
92
|
+
return void 0;
|
|
93
|
+
return new HSTS(options).getMiddleware();
|
|
94
|
+
}
|
|
95
|
+
);
|
|
96
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
97
|
+
0 && (module.exports = {
|
|
98
|
+
HSTS,
|
|
99
|
+
hstsMiddleware
|
|
100
|
+
});
|
|
101
|
+
//# sourceMappingURL=hsts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/middlewares/common/hsts.ts"],"sourcesContent":["import { middlewareCreator } from '../../utils';\nimport { ExpressMiddleware } from '../../types';\n/**\n * The options to customize the HSTS header value.\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security}\n * @group Middlewares/HSTS\n */\nexport type HSTSMiddlewareOptions = {\n /**\n * The time, in seconds, that the browser should remember that a site is only to be\n * accessed using HTTPS.\n *\n * @default 31536000\n */\n maxAge: number;\n /**\n * Whether or not the rule should apply to all sub domains.\n *\n * @default true\n */\n includeSubDomains: boolean;\n /**\n * Whether or not to include on the major browsers'\n * preload list. This directive is not part of the specification, for more information\n * about it, you should check the MDN documentation for the header.\n *\n * @default false\n */\n preload: boolean;\n};\n/**\n * A partial version of the {@link HSTSMiddlewareOptions}, to be used in the constructor\n * and the middleware creator.\n *\n * @group Middlewares/HSTS\n */\nexport type HSTSMiddlewarePartialOptions = Partial<HSTSMiddlewareOptions>;\n/**\n * The options for the middleware creator that will create the middleware, or not,\n * depending on the `enabled` option.\n *\n * @group Middlewares/HSTS\n */\nexport type HSTSMiddlewareSettings = HSTSMiddlewarePartialOptions & {\n /**\n * If it's not `true`, it won't return the middleware.\n */\n enabled?: boolean;\n};\n/**\n * Generates a middleware that includes the HSTS header on the responses.\n *\n * @see {@link https://tools.ietf.org/html/rfc6797}\n * @group Middleware Classes\n * @group Middlewares/HSTS\n * @prettierignore\n */\nexport class HSTS {\n /**\n * The customization options for the header.\n */\n protected readonly _options: HSTSMiddlewareOptions;\n /**\n * The value of the header that will be included in the responses.\n */\n protected readonly _header: string;\n /**\n * @param options The options to construct the class.\n */\n constructor(options: HSTSMiddlewarePartialOptions = {}) {\n this._options = {\n maxAge: 31536000,\n includeSubDomains: true,\n preload: false,\n ...options,\n };\n this._header = this._buildHeader();\n }\n /**\n * Generates the middleware that includes the HSTS header on the responses.\n */\n getMiddleware(): ExpressMiddleware {\n return (_, res, next) => {\n res.setHeader('Strict-Transport-Security', this._header);\n next();\n };\n }\n /**\n * The customization options.\n */\n get options(): Readonly<HSTSMiddlewareOptions> {\n return { ...this._options };\n }\n /**\n * The value of the header that will be included in the responses.\n */\n get header(): string {\n return this._header;\n }\n /**\n * Creates the header value based on the customization options.\n */\n protected _buildHeader(): string {\n const { maxAge, includeSubDomains, preload } = this._options;\n const directives = [`max-age=${maxAge}`];\n if (includeSubDomains) {\n directives.push('includeSubDomains');\n }\n\n if (preload) {\n directives.push('preload');\n }\n\n return directives.join('; ');\n }\n}\n/**\n * Creates the middleware that includes the HSTS header on the responses.\n *\n * @group Middlewares\n * @group Middlewares/HSTS\n */\nexport const hstsMiddleware = middlewareCreator(\n (options: HSTSMiddlewareSettings = {}) =>\n (app) => {\n const setting = app.getConfig<HSTSMiddlewareSettings | undefined>('hsts');\n if (\n !setting?.enabled ||\n (typeof options.enabled !== 'undefined' && !options.enabled)\n )\n return undefined;\n return new HSTS(options).getMiddleware();\n },\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkC;AA0D3B,MAAM,KAAK;AAAA;AAAA;AAAA;AAAA,EAYhB,YAAY,UAAwC,CAAC,GAAG;AARxD;AAAA;AAAA;AAAA,wBAAmB;AAInB;AAAA;AAAA;AAAA,wBAAmB;AAKjB,SAAK,WAAW;AAAA,MACd,QAAQ;AAAA,MACR,mBAAmB;AAAA,MACnB,SAAS;AAAA,MACT,GAAG;AAAA,IACL;AACA,SAAK,UAAU,KAAK,aAAa;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA,EAIA,gBAAmC;AACjC,WAAO,CAAC,GAAG,KAAK,SAAS;AACvB,UAAI,UAAU,6BAA6B,KAAK,OAAO;AACvD,WAAK;AAAA,IACP;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,UAA2C;AAC7C,WAAO,EAAE,GAAG,KAAK,SAAS;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,SAAiB;AACnB,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAIU,eAAuB;AAC/B,UAAM,EAAE,QAAQ,mBAAmB,QAAQ,IAAI,KAAK;AACpD,UAAM,aAAa,CAAC,WAAW,MAAM,EAAE;AACvC,QAAI,mBAAmB;AACrB,iBAAW,KAAK,mBAAmB;AAAA,IACrC;AAEA,QAAI,SAAS;AACX,iBAAW,KAAK,SAAS;AAAA,IAC3B;AAEA,WAAO,WAAW,KAAK,IAAI;AAAA,EAC7B;AACF;AAOO,MAAM,qBAAiB;AAAA,EAC5B,CAAC,UAAkC,CAAC,MAClC,CAAC,QAAQ;AACP,UAAM,UAAU,IAAI,UAA8C,MAAM;AACxE,QACE,CAAC,SAAS,WACT,OAAO,QAAQ,YAAY,eAAe,CAAC,QAAQ;AAEpD,aAAO;AACT,WAAO,IAAI,KAAK,OAAO,EAAE,cAAc;AAAA,EACzC;AACJ;","names":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export { ErrorHandler, ErrorHandlerConstructorOptions, ErrorHandlerOptions, ErrorHandlerPartialOptions, ErrorHandlerResponseOptions, errorHandlerMiddleware } from './errorHandler.mjs';
|
|
2
|
+
export { ForceHTTPS, ForceHTTPSOptions, ForceHTTPSPartialOptions, forceHTTPSMiddleware } from './forceHTTPS.mjs';
|
|
3
|
+
export { HSTS, HSTSMiddlewareOptions, HSTSMiddlewarePartialOptions, HSTSMiddlewareSettings, hstsMiddleware } from './hsts.mjs';
|
|
4
|
+
import '@homer0/jimple';
|
|
5
|
+
import '../../utils/fns/statuses.mjs';
|
|
6
|
+
import 'statuses';
|
|
7
|
+
import '../../index-efeb437e.js';
|
|
8
|
+
import '../../types/express.mjs';
|
|
9
|
+
import 'express';
|
|
10
|
+
import '../../types/http.mjs';
|
|
11
|
+
import 'https';
|
|
12
|
+
import 'http';
|
|
13
|
+
import 'spdy';
|
|
14
|
+
import 'node-fetch';
|
|
15
|
+
import '../../types/utils.mjs';
|
|
16
|
+
import '@homer0/path-utils';
|
|
17
|
+
import '@homer0/simple-logger';
|
|
18
|
+
import '@homer0/simple-config';
|
|
19
|
+
import '@homer0/events-hub';
|
|
20
|
+
import '../../services/common/httpError.mjs';
|
|
21
|
+
import '../../services/common/appError.mjs';
|
|
22
|
+
import '../../services/http/responsesBuilder.mjs';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export { ErrorHandler, ErrorHandlerConstructorOptions, ErrorHandlerOptions, ErrorHandlerPartialOptions, ErrorHandlerResponseOptions, errorHandlerMiddleware } from './errorHandler.js';
|
|
2
|
+
export { ForceHTTPS, ForceHTTPSOptions, ForceHTTPSPartialOptions, forceHTTPSMiddleware } from './forceHTTPS.js';
|
|
3
|
+
export { HSTS, HSTSMiddlewareOptions, HSTSMiddlewarePartialOptions, HSTSMiddlewareSettings, hstsMiddleware } from './hsts.js';
|
|
4
|
+
import '@homer0/jimple';
|
|
5
|
+
import '../../utils/fns/statuses.js';
|
|
6
|
+
import 'statuses';
|
|
7
|
+
import '../../index-b2a04c78.js';
|
|
8
|
+
import '../../types/express.js';
|
|
9
|
+
import 'express';
|
|
10
|
+
import '../../types/http.js';
|
|
11
|
+
import 'https';
|
|
12
|
+
import 'http';
|
|
13
|
+
import 'spdy';
|
|
14
|
+
import 'node-fetch';
|
|
15
|
+
import '../../types/utils.js';
|
|
16
|
+
import '@homer0/path-utils';
|
|
17
|
+
import '@homer0/simple-logger';
|
|
18
|
+
import '@homer0/simple-config';
|
|
19
|
+
import '@homer0/events-hub';
|
|
20
|
+
import '../../services/common/httpError.js';
|
|
21
|
+
import '../../services/common/appError.js';
|
|
22
|
+
import '../../services/http/responsesBuilder.js';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var common_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(common_exports);
|
|
18
|
+
__reExport(common_exports, require("./errorHandler"), module.exports);
|
|
19
|
+
__reExport(common_exports, require("./forceHTTPS"), module.exports);
|
|
20
|
+
__reExport(common_exports, require("./hsts"), module.exports);
|
|
21
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
22
|
+
0 && (module.exports = {
|
|
23
|
+
...require("./errorHandler"),
|
|
24
|
+
...require("./forceHTTPS"),
|
|
25
|
+
...require("./hsts")
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/middlewares/common/index.ts"],"sourcesContent":["export * from './errorHandler';\nexport * from './forceHTTPS';\nexport * from './hsts';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,2BAAc,2BAAd;AACA,2BAAc,yBADd;AAEA,2BAAc,mBAFd;","names":[]}
|