<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def handle(self, *controller_args, **controller_kwargs):
 """handles the request and returns the response This should set any response information directly onto self.response this method has the same signature as the request handling methods (eg, GET, POST) so subclasses can override this method and add decorators :param *controller_args: tuple, the path arguments that will be passed to the request handling method (eg, GET, POST) :param **controller_kwargs: dict, the query and body params merged together """

        req = self.request
        res = self.response
        res.set_header('Content-Type', "{};charset={}".format(
            self.content_type,
            self.encoding
        ))

        encoding = req.accept_encoding
        res.encoding = encoding if encoding else self.encoding

        res_method_name = ""
        controller_methods = self.find_methods()
        #controller_args, controller_kwargs = self.find_method_params()
        for controller_method_name, controller_method in controller_methods:
            try:
                logger.debug("Attempting to handle request with {}.{}.{}".format(
                    req.controller_info['module_name'],
                    req.controller_info['class_name'],
                    controller_method_name
                ))
                res.body = controller_method(
                    *controller_args,
                    **controller_kwargs
                )
                res_method_name = controller_method_name
                break

            except VersionError as e:
                logger.debug("Request {}.{}.{} failed version check [{} not in {}]".format(
                    req.controller_info['module_name'],
                    req.controller_info['class_name'],
                    controller_method_name,
                    e.request_version,
                    e.versions
                ))

            except RouteError:
                logger.debug("Request {}.{}.{} failed routing check".format(
                    req.controller_info['module_name'],
                    req.controller_info['class_name'],
                    controller_method_name
                ))

        if not res_method_name:
            # https://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1
            # An origin server SHOULD return the status code 405 (Method Not Allowed)
            # if the method is known by the origin server but not allowed for the
            # requested resource
            raise CallError(405, "Could not find a method to satisfy {}".format(
                req.path
            ))