I am writing a Jupyter server extension, allowing me to write a tornado.web.RequestHandler class. I would like to modify one of the handlers that the application has been initialized with, specifically the one creating a default redirect:
(r'/?', web.RedirectHandler, {
'url' : settings['default_url'],
'permanent': False, # want 302, not 301
})
From the RequestHandler object I have access to the tornado.web.Application subclass used. Is there a public API to get the list of handlers that I could modify?
Specifically, I'm looking to change the 'url' parameter the tornado.web.RedirectHandler is created with. It doesn't look like there is a documented api for this, so I'm guessing I'd have to replace the handler entirely.
Tornado does not support changing handlers at runtime. Instead, make your own handler which does the desired redirect based on whatever criteria you want:
class MyRedirectHandler(RequestHandler):
def get(self):
self.redirect(self.settings['default_url'], permanent=False)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With