<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def request(self, method, url, **params):
 """Constructs and sends a request to a remote server. It returns a :class:`.Future` which results in a :class:`.HttpResponse` object. :param method: request method for the :class:`HttpRequest`. :param url: URL for the :class:`HttpRequest`. :param params: optional parameters for the :class:`HttpRequest` initialisation. :rtype: a coroutine """

        response = self._request(method, url, **params)
        if not self._loop.is_running():
            return self._loop.run_until_complete(response)
        else:
            return response