mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 11:05:54 +01:00 
			
		
		
		
	added back logic to strip leading slashes, but after the fix to app.all
This commit is contained in:
		| @@ -34,6 +34,15 @@ require('./maintenance')(middleware); | |||||||
| require('./user')(middleware); | require('./user')(middleware); | ||||||
| require('./headers')(middleware); | require('./headers')(middleware); | ||||||
|  |  | ||||||
|  | middleware.stripLeadingSlashes = function (req, res, next) { | ||||||
|  | 	var target = req.originalUrl.replace(nconf.get('relative_path'), ''); | ||||||
|  | 	if (target.startsWith('//')) { | ||||||
|  | 		res.redirect(nconf.get('relative_path') + target.replace(/^\/+/, '/')); | ||||||
|  | 	} else { | ||||||
|  | 		next(); | ||||||
|  | 	} | ||||||
|  | }; | ||||||
|  |  | ||||||
| middleware.pageView = function (req, res, next) { | middleware.pageView = function (req, res, next) { | ||||||
| 	analytics.pageView({ | 	analytics.pageView({ | ||||||
| 		ip: req.ip, | 		ip: req.ip, | ||||||
|   | |||||||
| @@ -113,13 +113,11 @@ module.exports = function (app, middleware, hotswapIds, callback) { | |||||||
| 	pluginRouter.hotswapId = 'plugins'; | 	pluginRouter.hotswapId = 'plugins'; | ||||||
| 	authRouter.hotswapId = 'auth'; | 	authRouter.hotswapId = 'auth'; | ||||||
|  |  | ||||||
| 	app.all(relativePath + '(/api|/api/*?)', middleware.prepareAPI); | 	app.all(relativePath + '(/+api|/+api/*?)', middleware.prepareAPI); | ||||||
|  | 	app.all(relativePath + '(/+api/admin|/+api/admin/*?)', middleware.isAdmin); | ||||||
|  | 	app.all(relativePath + '(/+admin|/+admin/*?)', ensureLoggedIn.ensureLoggedIn(nconf.get('relative_path') + '/login?local=1'), middleware.applyCSRF, middleware.isAdmin); | ||||||
|  |  | ||||||
| 	app.all(relativePath + '(/api/admin|/api/admin/*?)', middleware.isAdmin); | 	app.use(middleware.stripLeadingSlashes); | ||||||
| 	app.all(relativePath + '(/admin|/admin/*?)', ensureLoggedIn.ensureLoggedIn(nconf.get('relative_path') + '/login?local=1'), middleware.applyCSRF, middleware.isAdmin); |  | ||||||
|  |  | ||||||
| 	// router.all('(/api/admin|/api/admin/*?)', middleware.isAdmin); |  | ||||||
| 	// router.all('(/admin|/admin/*?)', ensureLoggedIn.ensureLoggedIn(nconf.get('relative_path') + '/login?local=1'), middleware.applyCSRF, middleware.isAdmin); |  | ||||||
|  |  | ||||||
| 	adminRoutes(router, middleware, controllers); | 	adminRoutes(router, middleware, controllers); | ||||||
| 	metaRoutes(router, middleware, controllers); | 	metaRoutes(router, middleware, controllers); | ||||||
| @@ -138,7 +136,7 @@ module.exports = function (app, middleware, hotswapIds, callback) { | |||||||
| 	groupRoutes(router, middleware, controllers); | 	groupRoutes(router, middleware, controllers); | ||||||
|  |  | ||||||
| 	for (x = 0; x < routers.length; x += 1) { | 	for (x = 0; x < routers.length; x += 1) { | ||||||
| 		app.use(relativePath ? relativePath : '/', routers[x]); | 		app.use(relativePath || '/', routers[x]); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	if (process.env.NODE_ENV === 'development') { | 	if (process.env.NODE_ENV === 'development') { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user