Procházet zdrojové kódy

Merge pull request #1911 from transloadit/upgrade-connect-redis

companion: upgrade connect-redis
Ifedapo .A. Olarewaju před 5 roky
rodič
revize
d15e7c76a5

+ 6 - 10
package-lock.json

@@ -6118,7 +6118,7 @@
         "body-parser": "1.18.2",
         "chalk": "2.4.2",
         "common-tags": "1.8.0",
-        "connect-redis": "3.4.0",
+        "connect-redis": "4.0.3",
         "cookie-parser": "1.4.3",
         "express": "4.17.1",
         "express-interceptor": "1.2.0",
@@ -6174,6 +6174,11 @@
           "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
           "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
         },
+        "connect-redis": {
+          "version": "4.0.3",
+          "resolved": "https://registry.npmjs.org/connect-redis/-/connect-redis-4.0.3.tgz",
+          "integrity": "sha512-Php0P0ShNfilW6f2d/2v7Q0VAiFeBYsg0bIgu8ST3x26CcQ1JtzV6vxPLUwK0uiq10hQSMR+HzSNhWbcvx6nLg=="
+        },
         "cookie-parser": {
           "version": "1.4.3",
           "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.3.tgz",
@@ -11344,15 +11349,6 @@
       "resolved": "https://registry.npmjs.org/connect-pushstate/-/connect-pushstate-1.1.0.tgz",
       "integrity": "sha1-vKsiQnHEOWBKD7D2FMCl9WPojiQ="
     },
-    "connect-redis": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npmjs.org/connect-redis/-/connect-redis-3.4.0.tgz",
-      "integrity": "sha512-YKPSO9tLwzUr8jzhsGMdSJUxevWrDt0ggXRcTMb+mtnJ/vWGlWV7RC4VUMgqvZv3uTGDFye8Bf7d6No0oSVkOQ==",
-      "requires": {
-        "debug": "^4.0.1",
-        "redis": "^2.8.0"
-      }
-    },
     "console-browserify": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",

+ 1 - 1
packages/@uppy/companion/package.json

@@ -36,7 +36,7 @@
     "body-parser": "1.18.2",
     "chalk": "2.4.2",
     "common-tags": "1.8.0",
-    "connect-redis": "3.4.0",
+    "connect-redis": "4.0.3",
     "cookie-parser": "1.4.3",
     "express": "4.17.1",
     "express-interceptor": "1.2.0",

+ 3 - 0
packages/@uppy/companion/src/standalone/helper.js

@@ -69,6 +69,9 @@ const getConfigFromEnv = () => {
     },
     filePath: process.env.COMPANION_DATADIR,
     redisUrl: process.env.COMPANION_REDIS_URL,
+    // adding redisOptions to keep all companion options easily visible
+    //  redisOptions refers to https://www.npmjs.com/package/redis#options-object-properties
+    redisOptions: {},
     sendSelfEndpoint: process.env.COMPANION_SELF_ENDPOINT,
     uploadUrls: uploadUrls ? uploadUrls.split(',') : null,
     secret: getSecret('COMPANION_SECRET') || generateSecret(),

+ 14 - 11
packages/@uppy/companion/src/standalone/index.js

@@ -4,6 +4,8 @@ const uppy = require('../companion')
 const helmet = require('helmet')
 const morgan = require('morgan')
 const bodyParser = require('body-parser')
+const redis = require('../server/redis')
+const merge = require('lodash.merge')
 // @ts-ignore
 const promBundle = require('express-prom-bundle')
 const session = require('express-session')
@@ -64,18 +66,19 @@ app.use(helmet.noSniff())
 app.use(helmet.ieNoOpen())
 app.disable('x-powered-by')
 
-const uppyOptions = helper.getUppyOptions()
+const companionOptions = helper.getUppyOptions()
 const sessionOptions = {
-  secret: uppyOptions.secret,
+  secret: companionOptions.secret,
   resave: true,
   saveUninitialized: true
 }
 
-if (process.env.COMPANION_REDIS_URL) {
+if (companionOptions.redisUrl) {
   const RedisStore = require('connect-redis')(session)
-  sessionOptions.store = new RedisStore({
-    url: process.env.COMPANION_REDIS_URL
-  })
+  const redisClient = redis.client(
+    merge({ url: companionOptions.redisUrl }, companionOptions.redisOptions)
+  )
+  sessionOptions.store = new RedisStore({ client: redisClient })
 }
 
 if (process.env.COMPANION_COOKIE_DOMAIN) {
@@ -121,15 +124,15 @@ app.use((req, res, next) => {
 // Routes
 app.get('/', (req, res) => {
   res.setHeader('Content-Type', 'text/plain')
-  res.send(helper.buildHelpfulStartupMessage(uppyOptions))
+  res.send(helper.buildHelpfulStartupMessage(companionOptions))
 })
 
 // initialize uppy
-helper.validateConfig(uppyOptions)
+helper.validateConfig(companionOptions)
 if (process.env.COMPANION_PATH) {
-  app.use(process.env.COMPANION_PATH, uppy.app(uppyOptions))
+  app.use(process.env.COMPANION_PATH, uppy.app(companionOptions))
 } else {
-  app.use(uppy.app(uppyOptions))
+  app.use(uppy.app(companionOptions))
 }
 
 app.use((req, res, next) => {
@@ -150,4 +153,4 @@ if (app.get('env') === 'production') {
   })
 }
 
-module.exports = { app, uppyOptions }
+module.exports = { app, companionOptions }