У меня есть приложение CherryPy с пользовательским диспетчером, унаследованное от cherrypy._cpdispatch.Dispatcher
.В его методе def __call__(self, path): ...
я могу получить запрошенный путь в качестве аргумента path
.path
не включает ни строку запроса, ни cherrypy.url
.Я обнаружил, что могу получить строку запроса отдельно как cherrypy.request.query_string
.Конечно, если я вызову перенаправление в диспетчере, например
raise cherrypy.HTTPRedirect(transform(path), 301)
, строка запроса будет потеряна.
Я хочу сохранить строку запроса после перенаправления.Есть ли способ получить исходный путь или URL, включая строку запроса?Если нет, то стоит ли мне реконструировать что-то вроде path + (if query_string then '?' + query_string else '')
или есть лучший способ сделать это?