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.
@@ -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","TLS_SERVER_KEY_PASSPHRASE","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 (process.env.TLS_SERVER_KEY && process.env.TLS_SERVER_CERT) {\n return createSecureServer(\n {\n key: fs.readFileSync(process.env.TLS_SERVER_KEY),\n passphrase: process.env.TLS_SERVER_KEY_PASSPHRASE,\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,IAAIC,OAAO,CAACC,GAAG,CAACC,cAAc,IAAIF,OAAO,CAACC,GAAG,CAACE,eAAe,EAAE;IAC7D,OAAO,IAAAC,mBAAkB,EACvB;MACEC,GAAG,EAAEC,WAAE,CAACC,YAAY,CAACP,OAAO,CAACC,GAAG,CAACC,cAAc,CAAC;MAChDM,UAAU,EAAER,OAAO,CAACC,GAAG,CAACQ,yBAAyB;MACjDC,IAAI,EAAEJ,WAAE,CAACC,YAAY,CAACP,OAAO,CAACC,GAAG,CAACE,eAAe,CAAC;MAClDQ,EAAE,EAAEX,OAAO,CAACC,GAAG,CAACW,MAAM,GAClBN,WAAE,CAACC,YAAY,CAACP,OAAO,CAACC,GAAG,CAACW,MAAM,CAAC,GACnCC,SAAS;MACbC,WAAW,EAAE,IAAI;MACjBC,kBAAkB,EAAE;IACtB,CAAC,EACDjB,OACF,CAAC;EACH,CAAC,MAAM;IACL,OAAO,IAAAkB,kBAAY,EAAClB,OAAO,CAAC;EAC9B;AACF","ignoreList":[]}
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.isString()
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","isString","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.isString() });\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,CAACG,QAAQ,CAAC;MAAE,CAAC,CAAC;IACxE;IACA,IAAIR,OAAO,CAACC,GAAG,CAACQ,MAAM,EAAE,IAAAN,mBAAiB,EAAC;MAAEM,MAAM,EAAEJ,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;EAC3E;AACF","ignoreList":[]}
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 process.env.TLS_SERVER_KEY_PASSPHRASE) as string\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,EAAGb,OAAO,CAACC,GAAG,CAACa,0BAA0B,IACjDd,OAAO,CAACC,GAAG,CAACc;IAChB,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":[]}
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.isString()
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.isString()
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","isString","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.isString() });\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.isString() });\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,CAACI,QAAQ,CAAC;MAAE,CAAC,CAAC;IACzE;EACF,CAAC,MAAM,IAAIT,OAAO,CAACC,GAAG,CAACS,eAAe,EAAE;IACtC;IACA,IAAAP,mBAAiB,EAAC;MAAEQ,cAAc,EAAEN,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IACzD,IAAAH,mBAAiB,EAAC;MAAEO,eAAe,EAAEL,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IAC1D,IAAAH,mBAAiB,EAAC;MAAES,MAAM,EAAEP,WAAS,CAACC,MAAM,CAAC;IAAE,CAAC,CAAC;IACjD;IACA,IAAIN,OAAO,CAACC,GAAG,CAACY,yBAAyB,EAAE;MACzC,IAAAV,mBAAiB,EAAC;QAAEU,yBAAyB,EAAER,WAAS,CAACI,QAAQ,CAAC;MAAE,CAAC,CAAC;IACxE;EACF;AACF","ignoreList":[]}
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.5",
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 (process.env.TLS_SERVER_KEY && process.env.TLS_SERVER_CERT) {
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: process.env.TLS_SERVER_KEY_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.isString() });
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: (process.env.TLS_REQUEST_KEY_PASSPHRASE ??
33
- process.env.TLS_SERVER_KEY_PASSPHRASE) as string
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.isString() });
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.isString() });
22
+ assertEnvironment({ TLS_SERVER_KEY_PASSPHRASE: envAssert.isPath() });
23
23
  }
24
24
  }
25
25
  }