def __call__(self, environ, start_response):
        req = Request(environ)
        req.app = self
        for route, method, controller, args in self.routes:
            if method and not req.method == method:
                continue
            match = route.match(req.path_info)
            if match:
                request_args = dict(args)
                route_args = match.groupdict()
                request_args.update(route_args)
                return controller(environ, start_response, **request_args)
        return exc.HTTPNotFound()(environ, start_response)
dataset/ETHPy150Open galaxyproject/pulsar/pulsar/web/framework.py/RoutingApp.__call__/original