@gen.coroutine<EOL><INDENT>def fetch(self, request, callback=None, raise_error=True, **kwargs):<DEDENT>
<EOL>if isinstance(request, str):<EOL><INDENT>request = HTTPRequest(request, **kwargs)<EOL><DEDENT>try:<EOL><INDENT>response = yield self._authorized_fetch(request,<EOL>callback,<EOL>raise_error=False,<EOL>**kwargs)<EOL>if response.code == BAD_TOKEN:<EOL><INDENT>yield self._token_manager.reset_token()<EOL><DEDENT>elif response.error and raise_error:<EOL><INDENT>raise response.error<EOL><DEDENT>else:<EOL><INDENT>raise gen.Return(response)<EOL><DEDENT>response = yield self._authorized_fetch(request,<EOL>callback,<EOL>raise_error=raise_error,<EOL>**kwargs)<EOL>raise gen.Return(response)<EOL><DEDENT>except TokenError as err:<EOL><INDENT>yield self._token_manager.reset_token()<EOL>raise err<EOL><DEDENT>
Executes a request by AsyncHTTPClient,
        asynchronously returning an `tornado.HTTPResponse`.

           The ``raise_error=False`` argument currently suppresses
           *all* errors, encapsulating them in `HTTPResponse` objects
           following the tornado http-client standard