|
@@ -368,6 +368,14 @@ function initialize(webRouter, privateApiRouter, publicApiRouter) {
|
|
|
CompileController.downloadPdf
|
|
CompileController.downloadPdf
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|
|
+ // Align with limits defined in CompileController.downloadPdf
|
|
|
|
|
+ const rateLimiterMiddlewareOutputFiles = RateLimiterMiddleware.rateLimit({
|
|
|
|
|
+ endpointName: 'misc-output-download',
|
|
|
|
|
+ params: ['Project_id'],
|
|
|
|
|
+ maxRequests: 1000,
|
|
|
|
|
+ timeInterval: 60 * 60
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
// Used by the pdf viewers
|
|
// Used by the pdf viewers
|
|
|
webRouter.get(
|
|
webRouter.get(
|
|
|
/^\/project\/([^/]*)\/output\/(.*)$/,
|
|
/^\/project\/([^/]*)\/output\/(.*)$/,
|
|
@@ -379,6 +387,7 @@ function initialize(webRouter, privateApiRouter, publicApiRouter) {
|
|
|
req.params = params
|
|
req.params = params
|
|
|
next()
|
|
next()
|
|
|
},
|
|
},
|
|
|
|
|
+ rateLimiterMiddlewareOutputFiles,
|
|
|
AuthorizationMiddleware.ensureUserCanReadProject,
|
|
AuthorizationMiddleware.ensureUserCanReadProject,
|
|
|
CompileController.getFileFromClsi
|
|
CompileController.getFileFromClsi
|
|
|
)
|
|
)
|
|
@@ -394,6 +403,7 @@ function initialize(webRouter, privateApiRouter, publicApiRouter) {
|
|
|
req.params = params
|
|
req.params = params
|
|
|
next()
|
|
next()
|
|
|
},
|
|
},
|
|
|
|
|
+ rateLimiterMiddlewareOutputFiles,
|
|
|
AuthorizationMiddleware.ensureUserCanReadProject,
|
|
AuthorizationMiddleware.ensureUserCanReadProject,
|
|
|
CompileController.getFileFromClsi
|
|
CompileController.getFileFromClsi
|
|
|
)
|
|
)
|
|
@@ -410,6 +420,7 @@ function initialize(webRouter, privateApiRouter, publicApiRouter) {
|
|
|
req.params = params
|
|
req.params = params
|
|
|
next()
|
|
next()
|
|
|
},
|
|
},
|
|
|
|
|
+ rateLimiterMiddlewareOutputFiles,
|
|
|
AuthorizationMiddleware.ensureUserCanReadProject,
|
|
AuthorizationMiddleware.ensureUserCanReadProject,
|
|
|
CompileController.getFileFromClsi
|
|
CompileController.getFileFromClsi
|
|
|
)
|
|
)
|
|
@@ -427,6 +438,7 @@ function initialize(webRouter, privateApiRouter, publicApiRouter) {
|
|
|
req.params = params
|
|
req.params = params
|
|
|
next()
|
|
next()
|
|
|
},
|
|
},
|
|
|
|
|
+ rateLimiterMiddlewareOutputFiles,
|
|
|
AuthorizationMiddleware.ensureUserCanReadProject,
|
|
AuthorizationMiddleware.ensureUserCanReadProject,
|
|
|
CompileController.getFileFromClsi
|
|
CompileController.getFileFromClsi
|
|
|
)
|
|
)
|