From b877dc54443451fe4f06022d91954389554fc0cd Mon Sep 17 00:00:00 2001
From: Xiao Gui <xgui3783@gmail.com>
Date: Fri, 25 Feb 2022 11:10:06 +0100
Subject: [PATCH] added vip routes

---
 deploy/app.js           | 25 +++++++++----------------
 deploy/saneUrl/index.js |  3 +++
 docs/releases/v2.6.5.md |  1 +
 3 files changed, 13 insertions(+), 16 deletions(-)

diff --git a/deploy/app.js b/deploy/app.js
index 3fa93a530..b8174d8cb 100644
--- a/deploy/app.js
+++ b/deploy/app.js
@@ -7,20 +7,12 @@ const crypto = require('crypto')
 const cookieParser = require('cookie-parser')
 const bkwdMdl = require('./bkwdCompat')()
 
-const deprecated = (_req, res) => res.status(410).end()
-
 const LOCAL_CDN_FLAG = !!process.env.PRECOMPUTED_SERVER
 
 if (process.env.NODE_ENV !== 'production') {
   app.use(require('cors')())
 }
 
-
-const DOC_PUBLIC_PATH = process.env.NODE_ENV === 'production'
-  ? path.join(__dirname, 'docs')
-  : path.join(__dirname, '..', 'site')
-
-app.use('/docs', express.static(DOC_PUBLIC_PATH))
 app.use('/quickstart', require('./quickstart'))
 
 const hash = string => crypto.createHash('sha256').update(string).digest('hex')
@@ -28,7 +20,7 @@ const hash = string => crypto.createHash('sha256').update(string).digest('hex')
 app.use((req, _, next) => {
   if (/main\.bundle\.js$/.test(req.originalUrl)){
     const xForwardedFor = req.headers['x-forwarded-for']
-    const ip = req.connection.remoteAddress
+    const ip = req.socket.remoteAddress
     console.log({
       type: 'visitorLog',
       method: 'main.bundle.js',
@@ -107,8 +99,15 @@ const _ = (async () => {
   /**
    * saneUrl end points
    */
-  const { router: saneUrlRouter } = require('./saneUrl')
+  const { router: saneUrlRouter, vipRoutes } = require('./saneUrl')
   app.use('/saneUrl', saneUrlRouter)
+  app.use('/go', saneUrlRouter)
+
+  const HOST_PATHNAME = process.env.HOST_PATHNAME || ''
+  
+  for (const route of vipRoutes) {
+    app.get(route, (req, res) => res.redirect(`${HOST_PATHNAME}/go/${route}`))
+  }
 })()
 
 const PUBLIC_PATH = process.env.NODE_ENV === 'production'
@@ -230,13 +229,7 @@ const jsonMiddleware = (req, res, next) => {
  */
 const pluginRouter = require('./plugins')
 
-app.use('/atlases', deprecated)
-app.use('/templates', deprecated)
-app.use('/nehubaConfig', deprecated)
-app.use('/datasets', deprecated)
-app.use('/regionalFeatures', deprecated)
 app.use('/plugins', jsonMiddleware, pluginRouter)
-app.use('/preview', deprecated)
 
 const catchError = require('./catchError')
 app.use(catchError)
diff --git a/deploy/saneUrl/index.js b/deploy/saneUrl/index.js
index 010f28e87..fe9c71302 100644
--- a/deploy/saneUrl/index.js
+++ b/deploy/saneUrl/index.js
@@ -108,7 +108,10 @@ const ready = async () => {
   return await store.healthCheck()
 }
 
+const vipRoutes = ["human", "monkey", "rat", "mouse"]
+
 module.exports = {
   router,
   ready,
+  vipRoutes,
 }
diff --git a/docs/releases/v2.6.5.md b/docs/releases/v2.6.5.md
index 94c6efce5..22e5eb683 100644
--- a/docs/releases/v2.6.5.md
+++ b/docs/releases/v2.6.5.md
@@ -4,3 +4,4 @@
 
 - Re-enabled autoradiographs for receptor datasets
 - Added how-to-cite as a part of quick tour (#1085)
+- Added VIP routes
-- 
GitLab