Warning

This document is for an old release of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.

Source code for galaxy.web.framework

"""
Galaxy web application framework
"""

from routes import request_config

from . import base

DEPRECATED_URL_ATTRIBUTE_MESSAGE = "*deprecated attribute, URL not filled in by server*"


[docs]def handle_url_for(*args, **kwargs) -> str: """Tries to resolve the URL using the `routes` module. This only works in a WSGI app so a deprecation message is returned when running an ASGI app. """ try: return base.routes.url_for(*args, **kwargs) except AttributeError: return DEPRECATED_URL_ATTRIBUTE_MESSAGE
[docs]def legacy_url_for(mapper, *args, **kwargs) -> str: """ Re-establishes the mapper for legacy WSGI routes. """ rc = request_config() environ = kwargs.pop("environ", None) rc.mapper = mapper if environ: rc.environ = environ if hasattr(rc, "using_request_local"): rc.request_local = lambda: rc rc = request_config() return base.routes.url_for(*args, **kwargs)
url_for = handle_url_for