def _create_raw(self, **kwargs): """ Return common parameters for _libcouchbase._http_request """ d = { 'type': C.LCB_HTTP_TYPE_VIEW, 'fetch_headers': True, 'quiet': False, 'response_format': FMT_JSON } # Figure out the path qstr = self._query.encoded uri = make_dvpath(self.design, self.view) if len(uri) + len(qstr) > MAX_URI_LENGTH: (uriparams, post_data) = self._query._long_query_encoded d['method'] = C.LCB_HTTP_METHOD_POST d['post_data'] = post_data d['path'] = uri + uriparams d['content_type'] = "application/json" else: d['method'] = C.LCB_HTTP_METHOD_GET d['path'] = "{0}{1}".format(uri, qstr) d.update(**kwargs) return self._parent._http_request(**d)
def _view(self, ddoc, view, use_devmode=False, params=None, unrecognized_ok=False, passthrough=False): """ .. warning:: This method's API is not stable Execute a view (MapReduce) query :param string ddoc: Name of the design document :param string view: Name of the view function to execute :param params: Extra options to pass to the view engine :type params: string or dict :return: a :class:`HttpResult` object. """ if params: if not isinstance(params, str): params = make_options_string( params, unrecognized_ok=unrecognized_ok, passthrough=passthrough) else: params = "" ddoc = self._mk_devmode(ddoc, use_devmode) url = make_dvpath(ddoc, view) + params ret = self._http_request(type=_LCB.LCB_HTTP_TYPE_VIEW, path=url, method=_LCB.LCB_HTTP_METHOD_GET, response_format=FMT_JSON) return ret
def _get_page(self): if not self._streaming: self._handle_single_view() self._do_iter = False return if not self.raw: params = { 'method': C.LCB_HTTP_METHOD_GET, 'type': C.LCB_HTTP_TYPE_VIEW, 'chunked': True, 'path': ('{0}{1}' ).format(make_dvpath(self.design, self.view), self._query.encoded), 'fetch_headers': True, 'quiet': False } self.raw = self._parent._http_request(**params) # Fetch the rows: rows = self.raw._fetch() if not rows: self._handle_meta(self.raw.value) self._do_iter = False return rows = tuple(json.loads(r) for r in rows) self._process_page(rows)
def _get_page(self): if not self._streaming: self._handle_single_view() self._do_iter = False return if not self.raw: params = { 'method': C.LCB_HTTP_METHOD_GET, 'type': C.LCB_HTTP_TYPE_VIEW, 'chunked': True, 'path': ('{0}{1}').format(make_dvpath(self.design, self.view), self._query.encoded), 'fetch_headers': True, 'quiet': False } self.raw = self._parent._http_request(**params) # Fetch the rows: rows = self.raw._fetch() if not rows: self._handle_meta(self.raw.value) self._do_iter = False return rows = tuple(json.loads(r) for r in rows) self._process_page(rows)
def _get_page(self): if not self._streaming: self._handle_single_view() self._do_iter = False return if not self.raw: params = { "method": C.LCB_HTTP_METHOD_GET, "type": C.LCB_HTTP_TYPE_VIEW, "chunked": True, "path": ("{0}{1}").format(make_dvpath(self.design, self.view), self._query.encoded), "fetch_headers": True, "quiet": False, } self.raw = self._parent._http_request(**params) # Fetch the rows: rows = self.raw._fetch() if not rows: self._handle_meta(self.raw.value) self._do_iter = False return rows = tuple(json.loads(r) for r in rows) self._process_page(rows)
def _view(self, ddoc, view, use_devmode=False, params=None, unrecognized_ok=False, passthrough=False): """ .. warning:: This method's API is not stable Execute a view (MapReduce) query :param string ddoc: Name of the design document :param string view: Name of the view function to execute :param params: Extra options to pass to the view engine :type params: string or dict :return: a :class:`~couchbase.result.HttpResult` object. """ if params: if not isinstance(params, str): params = make_options_string(params, unrecognized_ok=unrecognized_ok, passthrough=passthrough) else: params = "" ddoc = self._mk_devmode(ddoc, use_devmode) url = make_dvpath(ddoc, view) + params ret = self._http_request(type=_LCB.LCB_HTTP_TYPE_VIEW, path=url, method=_LCB.LCB_HTTP_METHOD_GET, response_format=FMT_JSON) return ret