Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
    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)