text: """Proxy requests to GA4GH TRS servers (e.g. Dockstore).
  
  Information on TRS can be found at https://github.com/ga4gh/tool-registry-service-schemas.
  """
  import logging
  
  from galaxy.web import expose_api
  from galaxy.workflow.trs_proxy import (
      parse_search_kwds,
      TrsProxy,
  )
  from . import (
      BaseGalaxyAPIController,
      depends,
  )
  
  log = logging.getLogger(__name__)
  
  
  class TrsSearchAPIController(BaseGalaxyAPIController):
      """Controller for TRS searching.
  
      Not trying to emulate the actual underlying GA4GH API interface so throwing
      the search functionality into a different controller than the trs_consumer.
      """
  
      _trs_proxy: TrsProxy = depends(TrsProxy)
  
      @expose_api
      def index(self, trans, trs_server=None, query=None, **kwd):
          """
          GET /api/trs_search
  
          Search a TRS server.
  
          :param query: search query
          :type  query: str
          """
          search_kwd = parse_search_kwds(query)
          rval = self._trs_proxy.get_tools(trs_server, **search_kwd)
          return rval
  