class ActionUploadHandler(auth.CacheMixin, base.BaseHandler):
@tornado.web.authenticated
+ @base.ratelimit(minutes=60, requests=24)
def post(self):
path = self.get_argument("path")
class ActionWatchHandler(auth.CacheMixin, base.BaseHandler):
@tornado.web.authenticated
+ @base.ratelimit(minutes=60, requests=180)
def get(self, path, action):
if path is None:
path = "/"
pass # disabled
@tornado.web.authenticated
+ @base.ratelimit(minutes=5, requests=180)
def post(self, path):
if path is None:
path = "/"
class SearchHandler(auth.CacheMixin, base.BaseHandler):
@base.blacklisted
+ @base.ratelimit(minutes=15, requests=10)
def get(self):
q = self.get_argument("q")