async def execute_method(self, method, **params):
url = self.url_builder(method, url_params=params)<EOL>logger.info('<STR_LIT>', method)<EOL>response = await aiohttp.get(url)<EOL>logger.info('<STR_LIT>', response.status)<EOL>if response.status == <NUM_LIT:200>:<EOL><INDENT>json = await response.json()<EOL>logger.debug('<STR_LIT>', json)<EOL>if json.get('<STR_LIT>'):<EOL><INDENT>return json<EOL><DEDENT>raise SlackApiError(json['<STR_LIT:error>'])<EOL><DEDENT>else:<EOL><INDENT>raise_for_status(response)<EOL><DEDENT>
Execute a specified Slack Web API method.

        Arguments:
          method (:py:class:`str`): The name of the method.
          **params (:py:class:`dict`): Any additional parameters
            required.

        Returns:
          :py:class:`dict`: The JSON data from the response.

        Raises:
          :py:class:`aiohttp.web_exceptions.HTTPException`: If the HTTP
            request returns a code other than 200 (OK).
          SlackApiError: If the Slack API is reached but the response
           contains an error message.