<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, params=None, query_continue=None, files=None, auth=None, continuation=False):
 """ Sends an HTTP request to the API. :Parameters: method : `str` Which HTTP method to use for the request? (Usually "POST" or "GET") params : `dict` A set of parameters to send with the request. These parameters will be included in the POST body for post requests or a query string otherwise. query_continue : `dict` A 'continue' field from a past request. This field represents the point from which a query should be continued. files : `dict` A dictionary of (filename : `str`, data : `bytes`) pairs to send with the request. auth : mixed Auth tuple or callable to enable Basic/Digest/Custom HTTP Auth. continuation : `bool` If true, a continuation will be attempted and a generator of JSON response documents will be returned. :Returns: A response JSON documents (or a generator of documents if `continuation == True`) """

        normal_params = _normalize_params(params, query_continue)
        if continuation:
            return self._continuation(method, params=normal_params, auth=auth,
                                      files=files)
        else:
            return self._request(method, params=normal_params, auth=auth,
                                 files=files)