def delete(self, headers=None, **kwargs): """ Perform an HTTP DELETE to this resource. :arg headers: Extra headers to pass in the request. :arg kwargs: Other arguments to pass to the underlying `httpstream` method. :rtype: :class:`httpstream.Response` :raises: :class:`py2neo.GraphError` """ headers = dict(self.headers, **(headers or {})) try: response = self.__base.delete(headers, **kwargs) except (ClientError, ServerError) as error: if error.status_code == UNAUTHORIZED: raise Unauthorized(self.uri.string) if isinstance(error, JSONResponse): content = dict(error.content, request=error.request, response=error) else: content = {} message = content.pop( "message", "HTTP DELETE returned response %s" % error.status_code) raise_from(GraphError(message, **content), error) else: return response
def get(self, headers=None, redirect_limit=5, **kwargs): """ Perform an HTTP GET to this resource. :arg headers: Extra headers to pass in the request. :arg redirect_limit: Maximum number of times to follow redirects. :arg kwargs: Other arguments to pass to the underlying `httpstream` method. :rtype: :class:`httpstream.Response` :raises: :class:`py2neo.GraphError` """ headers = dict(self.headers, **(headers or {})) kwargs.update(cache=True) try: response = self.__base.get(headers=headers, redirect_limit=redirect_limit, **kwargs) except (ClientError, ServerError) as error: if error.status_code == UNAUTHORIZED: raise Unauthorized(self.uri.string) if isinstance(error, JSONResponse): content = dict(error.content, request=error.request, response=error) else: content = {} message = content.pop( "message", "HTTP GET returned response %s" % error.status_code) raise_from(GraphError(message, **content), error) else: self.__last_get_response = response return response