def __init__ (self,
        cluster,
        uri,
        params = None,
        reqtype = "get",
        headers = None,
        auth = None,
        meta = None,
        use_cache = False,
        mapreduce = True,
        filter = None,
        callback = None,
        cache = None,
        timeout = 10,
        origin = None,
        cachefs = None,
        logger = None
        ):

        self._uri = uri
        self._params = params
        self._headers = headers
        self._reqtype = reqtype
        self._auth = auth
        self.set_defaults (cluster, meta, use_cache, mapreduce, filter, callback, cache, timeout, origin, logger, cachefs)

        if not self._reqtype.lower ().endswith ("rpc"):
            self._build_request ("", self._params)