def delete(self, endpoint, data=None, params=None, headers=None, **_): """Execute a **DELETE** API method. :param endpoint: the API endpoint :type endpoint: str | unicode :param data: the request payload :type data: str | unicode | dict :param params: the request parameters :type params: dict :param headers: the request headers :type headers: dict :returns: the ArangoDB http response :rtype: arango.response.Response """ url = self._url_prefix + endpoint res = self._http.delete( url=url, data=sanitize(data), params=params, headers=headers, auth=(self._username, self._password) ) if self._enable_logging: self._logger.debug('DELETE {} {}'.format(url, res.status_code)) return res
def delete(self, endpoint, data=None, params=None, headers=None, **_): """Execute a **DELETE** API method. :param endpoint: the API endpoint :type endpoint: str | unicode :param data: the request payload :type data: str | unicode | dict :param params: the request parameters :type params: dict :param headers: the request headers :type headers: dict :returns: the ArangoDB http response :rtype: arango.response.Response """ url = self._url_prefix + endpoint res = self._http.delete( url=url, data=sanitize(data), params=params, headers=headers, auth=(self._username, self._password) ) if self._logging: logger.debug('DELETE {} {}'.format(url, res.status_code)) return res
def handle_request(self, request, handler, job_class=None): """Handle a given request :param request: The request to make :type request: arango.request.Request :param handler: The response handler to use to process the response :type handler: callable :param job_class: the class of the :class:arango.jobs.BaseJob to output or None to use the default job for this connection :type job_class: class | None :return: the job output :rtype: arango.jobs.BaseJob """ if job_class is None: job_class = self._default_job endpoint = request.url request.url = self._url_prefix + request.url request.data = sanitize(request.data) request.params = fix_params(request.params) used_handler = handler if self._enable_logging: def new_handler(res): handled = handler(res) self._logger.debug('{} {} {}'.format( request.method, endpoint, res.status_code)) return handled used_handler = new_handler if request.auth is None: request.auth = (self._username, self._password) response = self._http.make_request(request) return job_class(used_handler, response=response)