node-server-engine 1.4.5 → 1.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/utils/createHttpServer/createHttpServer.js +2 -2
- package/dist/utils/createHttpServer/createHttpServer.js.map +1 -1
- package/dist/utils/createHttpServer/createHttpServer.validate.js +1 -1
- package/dist/utils/createHttpServer/createHttpServer.validate.js.map +1 -1
- package/dist/utils/tlsConfig/tlsConfig.js +1 -1
- package/dist/utils/tlsConfig/tlsConfig.js.map +1 -1
- package/dist/utils/tlsConfig/tlsConfig.validate.js +2 -2
- package/dist/utils/tlsConfig/tlsConfig.validate.js.map +1 -1
- package/package.json +1 -1
- package/src/utils/createHttpServer/createHttpServer.ts +8 -2
- package/src/utils/createHttpServer/createHttpServer.validate.ts +1 -1
- package/src/utils/tlsConfig/tlsConfig.ts +5 -2
- package/src/utils/tlsConfig/tlsConfig.validate.ts +2 -2
|
@@ -14,10 +14,10 @@ function createHttpServer(handler) {
|
|
|
14
14
|
// Validate the environment variables
|
|
15
15
|
(0, _createHttpServer.validateHttpEnvironment)();
|
|
16
16
|
// Create a https server if env var are specified
|
|
17
|
-
if (process.env.TLS_SERVER_KEY && process.env.TLS_SERVER_CERT) {
|
|
17
|
+
if (process.env.TLS_SERVER_KEY && process.env.TLS_SERVER_CERT && process.env.TLS_SERVER_KEY_PASSPHRASE) {
|
|
18
18
|
return (0, _https.createServer)({
|
|
19
19
|
key: _fs.default.readFileSync(process.env.TLS_SERVER_KEY),
|
|
20
|
-
passphrase: process.env.TLS_SERVER_KEY_PASSPHRASE,
|
|
20
|
+
passphrase: _fs.default.readFileSync(process.env.TLS_SERVER_KEY_PASSPHRASE, 'utf8').trim(),
|
|
21
21
|
cert: _fs.default.readFileSync(process.env.TLS_SERVER_CERT),
|
|
22
22
|
ca: process.env.TLS_CA ? _fs.default.readFileSync(process.env.TLS_CA) : undefined,
|
|
23
23
|
requestCert: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createHttpServer.js","names":["_fs","_interopRequireDefault","require","_http","_https","_createHttpServer","createHttpServer","handler","validateHttpEnvironment","process","env","TLS_SERVER_KEY","TLS_SERVER_CERT","createSecureServer","key","fs","readFileSync","passphrase","
|
|
1
|
+
{"version":3,"file":"createHttpServer.js","names":["_fs","_interopRequireDefault","require","_http","_https","_createHttpServer","createHttpServer","handler","validateHttpEnvironment","process","env","TLS_SERVER_KEY","TLS_SERVER_CERT","TLS_SERVER_KEY_PASSPHRASE","createSecureServer","key","fs","readFileSync","passphrase","trim","cert","ca","TLS_CA","undefined","requestCert","rejectUnauthorized","createServer"],"sources":["../../../src/utils/createHttpServer/createHttpServer.ts"],"sourcesContent":["import fs from 'fs';\nimport { createServer, RequestListener, Server } from 'http';\nimport {\n createServer as createSecureServer,\n Server as SecureServer\n} from 'https';\nimport { Application } from 'express';\nimport { validateHttpEnvironment } from './createHttpServer.validate';\n\n/** Create and configure an http/https server */\nexport function createHttpServer(\n handler?: Application | RequestListener\n): Server | SecureServer {\n // Validate the environment variables\n validateHttpEnvironment();\n // Create a https server if env var are specified\n if (\n process.env.TLS_SERVER_KEY &&\n process.env.TLS_SERVER_CERT &&\n process.env.TLS_SERVER_KEY_PASSPHRASE\n ) {\n return createSecureServer(\n {\n key: fs.readFileSync(process.env.TLS_SERVER_KEY),\n passphrase: fs\n .readFileSync(process.env.TLS_SERVER_KEY_PASSPHRASE, 'utf8')\n .trim(),\n cert: fs.readFileSync(process.env.TLS_SERVER_CERT),\n ca: process.env.TLS_CA\n ? fs.readFileSync(process.env.TLS_CA)\n : undefined,\n requestCert: true,\n rejectUnauthorized: false\n },\n handler\n );\n } else {\n return createServer(handler);\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAKA,IAAAG,iBAAA,GAAAH,OAAA;AAEA;AACO,SAASI,gBAAgBA,CAC9BC,OAAuC,EAChB;EACvB;EACA,IAAAC,yCAAuB,EAAC,CAAC;EACzB;EACA,IACEC,OAAO,CAACC,GAAG,CAACC,cAAc,IAC1BF,OAAO,CAACC,GAAG,CAACE,eAAe,IAC3BH,OAAO,CAACC,GAAG,CAACG,yBAAyB,EACrC;IACA,OAAO,IAAAC,mBAAkB,EACvB;MACEC,GAAG,EAAEC,WAAE,CAACC,YAAY,CAACR,OAAO,CAACC,GAAG,CAACC,cAAc,CAAC;MAChDO,UAAU,EAAEF,WAAE,CACXC,YAAY,CAACR,OAAO,CAACC,GAAG,CAACG,yBAAyB,EAAE,MAAM,CAAC,CAC3DM,IAAI,CAAC,CAAC;MACTC,IAAI,EAAEJ,WAAE,CAACC,YAAY,CAACR,OAAO,CAACC,GAAG,CAACE,eAAe,CAAC;MAClDS,EAAE,EAAEZ,OAAO,CAACC,GAAG,CAACY,MAAM,GAClBN,WAAE,CAACC,YAAY,CAACR,OAAO,CAACC,GAAG,CAACY,MAAM,CAAC,GACnCC,SAAS;MACbC,WAAW,EAAE,IAAI;MACjBC,kBAAkB,EAAE;IACtB,CAAC,EACDlB,OACF,CAAC;EACH,CAAC,MAAM;IACL,OAAO,IAAAmB,kBAAY,EAACnB,OAAO,CAAC;EAC9B;AACF","ignoreList":[]}
|
|
@@ -20,7 +20,7 @@ function validateHttpEnvironment() {
|
|
|
20
20
|
// Optional variables
|
|
21
21
|
if (process.env.TLS_SERVER_KEY_PASSPHRASE) {
|
|
22
22
|
(0, _.assertEnvironment)({
|
|
23
|
-
TLS_SERVER_KEY_PASSPHRASE: _.envAssert.
|
|
23
|
+
TLS_SERVER_KEY_PASSPHRASE: _.envAssert.isPath()
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
if (process.env.TLS_CA) (0, _.assertEnvironment)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createHttpServer.validate.js","names":["_","require","validateHttpEnvironment","process","env","TLS_SERVER_CERT","assertEnvironment","TLS_SERVER_KEY","envAssert","isPath","TLS_SERVER_KEY_PASSPHRASE","
|
|
1
|
+
{"version":3,"file":"createHttpServer.validate.js","names":["_","require","validateHttpEnvironment","process","env","TLS_SERVER_CERT","assertEnvironment","TLS_SERVER_KEY","envAssert","isPath","TLS_SERVER_KEY_PASSPHRASE","TLS_CA"],"sources":["../../../src/utils/createHttpServer/createHttpServer.validate.ts"],"sourcesContent":["import { assertEnvironment, envAssert } from 'utils';\n\n/**\n * Environment variable validator for the creation of a HTTP(S) server\n */\nexport function validateHttpEnvironment(): void {\n // We only check if there is at least the host specified\n if (process.env.TLS_SERVER_CERT && process.env.TLS_SERVER_CERT) {\n assertEnvironment({ TLS_SERVER_KEY: envAssert.isPath() });\n assertEnvironment({ TLS_SERVER_CERT: envAssert.isPath() });\n // Optional variables\n if (process.env.TLS_SERVER_KEY_PASSPHRASE) {\n assertEnvironment({ TLS_SERVER_KEY_PASSPHRASE: envAssert.isPath() });\n }\n if (process.env.TLS_CA) assertEnvironment({ TLS_CA: envAssert.isPath() });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACO,SAASC,uBAAuBA,CAAA,EAAS;EAC9C;EACA,IAAIC,OAAO,CAACC,GAAG,CAACC,eAAe,IAAIF,OAAO,CAACC,GAAG,CAACC,eAAe,EAAE;IAC9D,IAAAC,mBAAiB,EAAC;MAAEC,cAAc,EAAEC,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IACzD,IAAAH,mBAAiB,EAAC;MAAED,eAAe,EAAEG,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IAC1D;IACA,IAAIN,OAAO,CAACC,GAAG,CAACM,yBAAyB,EAAE;MACzC,IAAAJ,mBAAiB,EAAC;QAAEI,yBAAyB,EAAEF,WAAS,CAACC,MAAM,CAAC;MAAE,CAAC,CAAC;IACtE;IACA,IAAIN,OAAO,CAACC,GAAG,CAACO,MAAM,EAAE,IAAAL,mBAAiB,EAAC;MAAEK,MAAM,EAAEH,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;EAC3E;AACF","ignoreList":[]}
|
|
@@ -26,7 +26,7 @@ function loadTlsConfig() {
|
|
|
26
26
|
key: _fs.default.readFileSync(process.env.TLS_REQUEST_KEY ?? process.env.TLS_SERVER_KEY, 'utf-8'),
|
|
27
27
|
cert: _fs.default.readFileSync(process.env.TLS_REQUEST_CERT ?? process.env.TLS_SERVER_CERT, 'utf-8'),
|
|
28
28
|
ca: _fs.default.readFileSync(process.env.TLS_REQUEST_CA ?? process.env.TLS_CA, 'utf-8'),
|
|
29
|
-
passphrase: process.env.TLS_REQUEST_KEY_PASSPHRASE ?? process.env.TLS_SERVER_KEY_PASSPHRASE
|
|
29
|
+
passphrase: _fs.default.readFileSync(process.env.TLS_REQUEST_KEY_PASSPHRASE ?? process.env.TLS_SERVER_KEY_PASSPHRASE, 'utf-8')
|
|
30
30
|
};
|
|
31
31
|
exports.httpsAgent = httpsAgent = new _https.default.Agent({
|
|
32
32
|
key: tlsConfig.key,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tlsConfig.js","names":["_fs","_interopRequireDefault","require","_https","_tlsConfig","_EngineError","tlsConfig","exports","httpsAgent","loadTlsConfig","validateTlsConfig","undefined","process","env","TLS_REQUEST_KEY","TLS_SERVER_KEY","key","fs","readFileSync","cert","TLS_REQUEST_CERT","TLS_SERVER_CERT","ca","TLS_REQUEST_CA","TLS_CA","passphrase","TLS_REQUEST_KEY_PASSPHRASE","TLS_SERVER_KEY_PASSPHRASE","https","Agent","EngineError","message"],"sources":["../../../src/utils/tlsConfig/tlsConfig.ts"],"sourcesContent":["import fs from 'fs';\nimport https, { Agent } from 'https';\nimport { TlsConfig } from './tlsConfig.types';\nimport { validateTlsConfig } from './tlsConfig.validate';\nimport { EngineError } from 'entities/EngineError';\n\nexport let tlsConfig: undefined | TlsConfig;\nexport let httpsAgent: undefined | Agent;\n\n/**\n * Load TLS config by its Environment setting.\n */\nexport function loadTlsConfig(): void {\n // Check that environment variables are correctly set\n validateTlsConfig();\n tlsConfig = undefined;\n\n if (process.env.TLS_REQUEST_KEY || process.env.TLS_SERVER_KEY) {\n tlsConfig = {\n key: fs.readFileSync(\n (process.env.TLS_REQUEST_KEY ?? process.env.TLS_SERVER_KEY) as string,\n 'utf-8'\n ),\n cert: fs.readFileSync(\n (process.env.TLS_REQUEST_CERT ?? process.env.TLS_SERVER_CERT) as string,\n 'utf-8'\n ),\n ca: fs.readFileSync(\n (process.env.TLS_REQUEST_CA ?? process.env.TLS_CA) as string,\n 'utf-8'\n ),\n passphrase: (process.env.TLS_REQUEST_KEY_PASSPHRASE ??\n
|
|
1
|
+
{"version":3,"file":"tlsConfig.js","names":["_fs","_interopRequireDefault","require","_https","_tlsConfig","_EngineError","tlsConfig","exports","httpsAgent","loadTlsConfig","validateTlsConfig","undefined","process","env","TLS_REQUEST_KEY","TLS_SERVER_KEY","key","fs","readFileSync","cert","TLS_REQUEST_CERT","TLS_SERVER_CERT","ca","TLS_REQUEST_CA","TLS_CA","passphrase","TLS_REQUEST_KEY_PASSPHRASE","TLS_SERVER_KEY_PASSPHRASE","https","Agent","EngineError","message"],"sources":["../../../src/utils/tlsConfig/tlsConfig.ts"],"sourcesContent":["import fs from 'fs';\nimport https, { Agent } from 'https';\nimport { TlsConfig } from './tlsConfig.types';\nimport { validateTlsConfig } from './tlsConfig.validate';\nimport { EngineError } from 'entities/EngineError';\n\nexport let tlsConfig: undefined | TlsConfig;\nexport let httpsAgent: undefined | Agent;\n\n/**\n * Load TLS config by its Environment setting.\n */\nexport function loadTlsConfig(): void {\n // Check that environment variables are correctly set\n validateTlsConfig();\n tlsConfig = undefined;\n\n if (process.env.TLS_REQUEST_KEY || process.env.TLS_SERVER_KEY) {\n tlsConfig = {\n key: fs.readFileSync(\n (process.env.TLS_REQUEST_KEY ?? process.env.TLS_SERVER_KEY) as string,\n 'utf-8'\n ),\n cert: fs.readFileSync(\n (process.env.TLS_REQUEST_CERT ?? process.env.TLS_SERVER_CERT) as string,\n 'utf-8'\n ),\n ca: fs.readFileSync(\n (process.env.TLS_REQUEST_CA ?? process.env.TLS_CA) as string,\n 'utf-8'\n ),\n passphrase: fs.readFileSync(\n (process.env.TLS_REQUEST_KEY_PASSPHRASE ??\n process.env.TLS_SERVER_KEY_PASSPHRASE) as string,\n 'utf-8'\n )\n } as TlsConfig;\n httpsAgent = new https.Agent({\n key: tlsConfig.key,\n cert: tlsConfig.cert,\n ca: tlsConfig.ca,\n passphrase: tlsConfig.passphrase\n });\n }\n if (!tlsConfig || !(tlsConfig.ca && tlsConfig.cert && tlsConfig.key)) {\n throw new EngineError({\n message: 'TLS environment variables are not set correctly'\n });\n }\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAEO,IAAII,SAAgC,GAAAC,OAAA,CAAAD,SAAA;AACpC,IAAIE,UAA6B,GAAAD,OAAA,CAAAC,UAAA;;AAExC;AACA;AACA;AACO,SAASC,aAAaA,CAAA,EAAS;EACpC;EACA,IAAAC,4BAAiB,EAAC,CAAC;EACnBH,OAAA,CAAAD,SAAA,GAAAA,SAAS,GAAGK,SAAS;EAErB,IAAIC,OAAO,CAACC,GAAG,CAACC,eAAe,IAAIF,OAAO,CAACC,GAAG,CAACE,cAAc,EAAE;IAC7DR,OAAA,CAAAD,SAAA,GAAAA,SAAS,GAAG;MACVU,GAAG,EAAEC,WAAE,CAACC,YAAY,CACjBN,OAAO,CAACC,GAAG,CAACC,eAAe,IAAIF,OAAO,CAACC,GAAG,CAACE,cAAc,EAC1D,OACF,CAAC;MACDI,IAAI,EAAEF,WAAE,CAACC,YAAY,CAClBN,OAAO,CAACC,GAAG,CAACO,gBAAgB,IAAIR,OAAO,CAACC,GAAG,CAACQ,eAAe,EAC5D,OACF,CAAC;MACDC,EAAE,EAAEL,WAAE,CAACC,YAAY,CAChBN,OAAO,CAACC,GAAG,CAACU,cAAc,IAAIX,OAAO,CAACC,GAAG,CAACW,MAAM,EACjD,OACF,CAAC;MACDC,UAAU,EAAER,WAAE,CAACC,YAAY,CACxBN,OAAO,CAACC,GAAG,CAACa,0BAA0B,IACrCd,OAAO,CAACC,GAAG,CAACc,yBAAyB,EACvC,OACF;IACF,CAAc;IACdpB,OAAA,CAAAC,UAAA,GAAAA,UAAU,GAAG,IAAIoB,cAAK,CAACC,KAAK,CAAC;MAC3Bb,GAAG,EAAEV,SAAS,CAACU,GAAG;MAClBG,IAAI,EAAEb,SAAS,CAACa,IAAI;MACpBG,EAAE,EAAEhB,SAAS,CAACgB,EAAE;MAChBG,UAAU,EAAEnB,SAAS,CAACmB;IACxB,CAAC,CAAC;EACJ;EACA,IAAI,CAACnB,SAAS,IAAI,EAAEA,SAAS,CAACgB,EAAE,IAAIhB,SAAS,CAACa,IAAI,IAAIb,SAAS,CAACU,GAAG,CAAC,EAAE;IACpE,MAAM,IAAIc,wBAAW,CAAC;MACpBC,OAAO,EAAE;IACX,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
|
|
@@ -23,7 +23,7 @@ function validateTlsConfig() {
|
|
|
23
23
|
// Optional variables
|
|
24
24
|
if (process.env.TLS_REQUEST_KEY_PASSPHRASE) {
|
|
25
25
|
(0, _.assertEnvironment)({
|
|
26
|
-
TLS_REQUEST_KEY_PASSPHRASE: _.envAssert.
|
|
26
|
+
TLS_REQUEST_KEY_PASSPHRASE: _.envAssert.isPath()
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
29
|
} else if (process.env.TLS_SERVER_CERT) {
|
|
@@ -40,7 +40,7 @@ function validateTlsConfig() {
|
|
|
40
40
|
// Optional variables
|
|
41
41
|
if (process.env.TLS_SERVER_KEY_PASSPHRASE) {
|
|
42
42
|
(0, _.assertEnvironment)({
|
|
43
|
-
TLS_SERVER_KEY_PASSPHRASE: _.envAssert.
|
|
43
|
+
TLS_SERVER_KEY_PASSPHRASE: _.envAssert.isPath()
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tlsConfig.validate.js","names":["_","require","validateTlsConfig","process","env","TLS_REQUEST_CERT","assertEnvironment","TLS_REQUEST_KEY","envAssert","isPath","TLS_REQUEST_CA","TLS_REQUEST_KEY_PASSPHRASE","
|
|
1
|
+
{"version":3,"file":"tlsConfig.validate.js","names":["_","require","validateTlsConfig","process","env","TLS_REQUEST_CERT","assertEnvironment","TLS_REQUEST_KEY","envAssert","isPath","TLS_REQUEST_CA","TLS_REQUEST_KEY_PASSPHRASE","TLS_SERVER_CERT","TLS_SERVER_KEY","TLS_CA","TLS_SERVER_KEY_PASSPHRASE"],"sources":["../../../src/utils/tlsConfig/tlsConfig.validate.ts"],"sourcesContent":["import { assertEnvironment, envAssert } from 'utils';\n/**\n * Verify that the environment variables\n */\nexport function validateTlsConfig(): void {\n // We only check if there is at least the host specified\n if (process.env.TLS_REQUEST_CERT) {\n assertEnvironment({ TLS_REQUEST_KEY: envAssert.isPath() });\n assertEnvironment({ TLS_REQUEST_CERT: envAssert.isPath() });\n assertEnvironment({ TLS_REQUEST_CA: envAssert.isPath() });\n // Optional variables\n if (process.env.TLS_REQUEST_KEY_PASSPHRASE) {\n assertEnvironment({ TLS_REQUEST_KEY_PASSPHRASE: envAssert.isPath() });\n }\n } else if (process.env.TLS_SERVER_CERT) {\n // if no TLS Request setting, TLS Server setting is essential.\n assertEnvironment({ TLS_SERVER_KEY: envAssert.isPath() });\n assertEnvironment({ TLS_SERVER_CERT: envAssert.isPath() });\n assertEnvironment({ TLS_CA: envAssert.isPath() });\n // Optional variables\n if (process.env.TLS_SERVER_KEY_PASSPHRASE) {\n assertEnvironment({ TLS_SERVER_KEY_PASSPHRASE: envAssert.isPath() });\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AACA;AACA;AACA;AACO,SAASC,iBAAiBA,CAAA,EAAS;EACxC;EACA,IAAIC,OAAO,CAACC,GAAG,CAACC,gBAAgB,EAAE;IAChC,IAAAC,mBAAiB,EAAC;MAAEC,eAAe,EAAEC,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IAC1D,IAAAH,mBAAiB,EAAC;MAAED,gBAAgB,EAAEG,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IAC3D,IAAAH,mBAAiB,EAAC;MAAEI,cAAc,EAAEF,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IACzD;IACA,IAAIN,OAAO,CAACC,GAAG,CAACO,0BAA0B,EAAE;MAC1C,IAAAL,mBAAiB,EAAC;QAAEK,0BAA0B,EAAEH,WAAS,CAACC,MAAM,CAAC;MAAE,CAAC,CAAC;IACvE;EACF,CAAC,MAAM,IAAIN,OAAO,CAACC,GAAG,CAACQ,eAAe,EAAE;IACtC;IACA,IAAAN,mBAAiB,EAAC;MAAEO,cAAc,EAAEL,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IACzD,IAAAH,mBAAiB,EAAC;MAAEM,eAAe,EAAEJ,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IAC1D,IAAAH,mBAAiB,EAAC;MAAEQ,MAAM,EAAEN,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IACjD;IACA,IAAIN,OAAO,CAACC,GAAG,CAACW,yBAAyB,EAAE;MACzC,IAAAT,mBAAiB,EAAC;QAAES,yBAAyB,EAAEP,WAAS,CAACC,MAAM,CAAC;MAAE,CAAC,CAAC;IACtE;EACF;AACF","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-server-engine",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.6",
|
|
4
4
|
"description": "Framework used to develop backend services. This package ships with a lot of features to standardize the creation of services, letting you focus on the business logic.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -14,11 +14,17 @@ export function createHttpServer(
|
|
|
14
14
|
// Validate the environment variables
|
|
15
15
|
validateHttpEnvironment();
|
|
16
16
|
// Create a https server if env var are specified
|
|
17
|
-
if (
|
|
17
|
+
if (
|
|
18
|
+
process.env.TLS_SERVER_KEY &&
|
|
19
|
+
process.env.TLS_SERVER_CERT &&
|
|
20
|
+
process.env.TLS_SERVER_KEY_PASSPHRASE
|
|
21
|
+
) {
|
|
18
22
|
return createSecureServer(
|
|
19
23
|
{
|
|
20
24
|
key: fs.readFileSync(process.env.TLS_SERVER_KEY),
|
|
21
|
-
passphrase:
|
|
25
|
+
passphrase: fs
|
|
26
|
+
.readFileSync(process.env.TLS_SERVER_KEY_PASSPHRASE, 'utf8')
|
|
27
|
+
.trim(),
|
|
22
28
|
cert: fs.readFileSync(process.env.TLS_SERVER_CERT),
|
|
23
29
|
ca: process.env.TLS_CA
|
|
24
30
|
? fs.readFileSync(process.env.TLS_CA)
|
|
@@ -10,7 +10,7 @@ export function validateHttpEnvironment(): void {
|
|
|
10
10
|
assertEnvironment({ TLS_SERVER_CERT: envAssert.isPath() });
|
|
11
11
|
// Optional variables
|
|
12
12
|
if (process.env.TLS_SERVER_KEY_PASSPHRASE) {
|
|
13
|
-
assertEnvironment({ TLS_SERVER_KEY_PASSPHRASE: envAssert.
|
|
13
|
+
assertEnvironment({ TLS_SERVER_KEY_PASSPHRASE: envAssert.isPath() });
|
|
14
14
|
}
|
|
15
15
|
if (process.env.TLS_CA) assertEnvironment({ TLS_CA: envAssert.isPath() });
|
|
16
16
|
}
|
|
@@ -29,8 +29,11 @@ export function loadTlsConfig(): void {
|
|
|
29
29
|
(process.env.TLS_REQUEST_CA ?? process.env.TLS_CA) as string,
|
|
30
30
|
'utf-8'
|
|
31
31
|
),
|
|
32
|
-
passphrase: (
|
|
33
|
-
process.env.
|
|
32
|
+
passphrase: fs.readFileSync(
|
|
33
|
+
(process.env.TLS_REQUEST_KEY_PASSPHRASE ??
|
|
34
|
+
process.env.TLS_SERVER_KEY_PASSPHRASE) as string,
|
|
35
|
+
'utf-8'
|
|
36
|
+
)
|
|
34
37
|
} as TlsConfig;
|
|
35
38
|
httpsAgent = new https.Agent({
|
|
36
39
|
key: tlsConfig.key,
|
|
@@ -10,7 +10,7 @@ export function validateTlsConfig(): void {
|
|
|
10
10
|
assertEnvironment({ TLS_REQUEST_CA: envAssert.isPath() });
|
|
11
11
|
// Optional variables
|
|
12
12
|
if (process.env.TLS_REQUEST_KEY_PASSPHRASE) {
|
|
13
|
-
assertEnvironment({ TLS_REQUEST_KEY_PASSPHRASE: envAssert.
|
|
13
|
+
assertEnvironment({ TLS_REQUEST_KEY_PASSPHRASE: envAssert.isPath() });
|
|
14
14
|
}
|
|
15
15
|
} else if (process.env.TLS_SERVER_CERT) {
|
|
16
16
|
// if no TLS Request setting, TLS Server setting is essential.
|
|
@@ -19,7 +19,7 @@ export function validateTlsConfig(): void {
|
|
|
19
19
|
assertEnvironment({ TLS_CA: envAssert.isPath() });
|
|
20
20
|
// Optional variables
|
|
21
21
|
if (process.env.TLS_SERVER_KEY_PASSPHRASE) {
|
|
22
|
-
assertEnvironment({ TLS_SERVER_KEY_PASSPHRASE: envAssert.
|
|
22
|
+
assertEnvironment({ TLS_SERVER_KEY_PASSPHRASE: envAssert.isPath() });
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
}
|