def _process_get(self, fields=[]): response = HttpResponse(node=self, content_type=self._matching_outputs[0]) request_range = self.request.META.get('HTTP_RANGE') kwparams = {} if not request_range: response['Accept-Range'] = self.range_unit else: kwparams = {'offset': request_range.offset, 'limit' : request_range.limit} items = self._call_http_method_handler(**kwparams) if items is None: raise ValueError('%s() method of node %s returned None.' % (self.method_handlers.get(self.request.method), self.__class__.__name__)) if not len(items) and request_range: raise RequestedRangeNotSatisfiableError(self) response.payload = [] for item in items: try: response.payload.append(item.render_in_collection()) except ForbiddenError: pass if not len(response.payload): response.status = 204 elif request_range: response.status = 206 else: response.status = 200 return response
def _process_get(self): response = HttpResponse(node=self, content_type=self._matching_outputs[0]) data = self._call_http_method_handler(method='GET') for node_cls in self.__class__.get_children_nodes(): try: child_node = node_cls(self.request, parent_node=self, **self._chained_args) data.update(child_node.render_in_parent()) except ForbiddenError: continue response.payload = data return response
def _process_get(self): response = HttpResponse(node=self, content_type=self._matching_outputs[0]) data = self._call_http_method_handler(method='GET') for node_cls in self.__class__.get_children_nodes(): try: child_node = node_cls(self.request, **self._chained_args) data.update(child_node.render_in_parent()) except ForbiddenError: continue response.payload = data return response
def _process_get(self, fields=[]): response = HttpResponse(node=self, content_type=self._matching_outputs[0]) request_range = self.request.META.get('HTTP_RANGE') kwparams = {} if not request_range: response['Accept-Range'] = self.range_unit else: kwparams = { 'offset': request_range.offset, 'limit': request_range.limit } items = self._call_http_method_handler(**kwparams) if items is None: raise ValueError('%s() method of node %s returned None.' % (self.method_handlers.get(self.request.method), self.__class__.__name__)) if not len(items) and request_range: raise RequestedRangeNotSatisfiableError(self) response.payload = [] for item in items: try: response.payload.append(item.render_in_collection()) except ForbiddenError: pass if not len(response.payload): response.status = 204 elif request_range: response.status = 206 else: response.status = 200 return response