Warning

This document is for an in-development version 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.middleware.sqldebug

"""
Per-request SQL debugging middleware.
"""
import logging

from galaxy.model.orm.engine_factory import log_request_query_counts, reset_request_query_counts

log = logging.getLogger(__name__)


[docs]class SQLDebugMiddleware:
[docs] def __init__(self, application, galaxy, config=None): #: the wrapped webapp self.application = application
def __call__(self, environ, start_response): query_string = environ.get('QUERY_STRING') if "sql_debug=1" in query_string: import galaxy.app if galaxy.app.app.model.thread_local_log: galaxy.app.app.model.thread_local_log.log = True try: reset_request_query_counts() return self.application(environ, start_response) finally: log_request_query_counts(environ.get("PATH_INFO"))