Example #1
0
    def _execute_request(self, request):
        """Execute an HTTPRequest and construct a resource from the payload"""
        logging.debug('Making HTTP %s request to %s' % (request.method,
                                                        request.url))

        rsp = self.server.make_request(request)
        info = rsp.info()
        mime_type = info['Content-Type']
        item_content_type = info.get('Item-Content-Type', None)
        payload = rsp.read()
        payload = decode_response(payload, mime_type)

        return create_resource(self, payload, request.url, mime_type=mime_type,
                               item_mime_type=item_content_type)
Example #2
0
    def _execute_request(self, request):
        """Execute an HTTPRequest and construct a resource from the payload"""
        logging.debug('Making HTTP %s request to %s' %
                      (request.method, request.url))

        rsp = self.server.make_request(request)
        info = rsp.info()
        mime_type = info['Content-Type']
        item_content_type = info.get('Item-Content-Type', None)
        payload = rsp.read()
        payload = decode_response(payload, mime_type)

        return create_resource(self,
                               payload,
                               request.url,
                               mime_type=mime_type,
                               item_mime_type=item_content_type)
Example #3
0
    def __call__(self, *args, **kwargs):
        """Executed when a resource's method is called."""
        call_result = self._method(*args, **kwargs)
        if not isinstance(call_result, HttpRequest):
            return call_result

        rsp = self._transport.server.make_request(call_result)
        info = rsp.info()
        mime_type = info['Content-Type']
        item_content_type = info.get('Item-Content-Type', None)
        payload = rsp.read()
        payload = decode_response(payload, mime_type)

        resource = create_resource(payload, call_result.url,
                                   mime_type=mime_type,
                                   item_mime_type=item_content_type)

        return self._transport.wrap(resource)
Example #4
0
    def __call__(self, *args, **kwargs):
        """Executed when a resource's method is called."""
        call_result = self._method(*args, **kwargs)
        if not isinstance(call_result, HttpRequest):
            return call_result

        rsp = self._transport.server.make_request(call_result)
        info = rsp.info()
        mime_type = info['Content-Type']
        item_content_type = info.get('Item-Content-Type', None)
        payload = rsp.read()
        payload = decode_response(payload, mime_type)

        resource = create_resource(payload,
                                   call_result.url,
                                   mime_type=mime_type,
                                   item_mime_type=item_content_type)

        return self._transport.wrap(resource)
Example #5
0
    def _execute_request(self, request):
        """Execute an HTTPRequest and construct a resource from the payload"""
        logging.debug('Making HTTP %s request to %s',
                      request.method, request.url)

        rsp = self.server.make_request(request)
        info = rsp.info()
        mime_type = info['Content-Type']
        item_content_type = info.get('Item-Content-Type', None)

        if request.method == 'DELETE':
            # DELETE calls don't return any data. Everything else should.
            return None
        else:
            payload = rsp.read()
            payload = decode_response(payload, mime_type)

            return create_resource(self, payload, request.url,
                                   mime_type=mime_type,
                                   item_mime_type=item_content_type)
Example #6
0
    def _execute_request(self, request):
        """Execute an HTTPRequest and construct a resource from the payload"""
        logging.debug('Making HTTP %s request to %s',
                      request.method, request.url)

        rsp = self.server.make_request(request)
        info = rsp.info()
        mime_type = info['Content-Type']
        item_content_type = info.get('Item-Content-Type', None)

        if request.method == 'DELETE':
            # DELETE calls don't return any data. Everything else should.
            return None
        else:
            payload = rsp.read()
            payload = decode_response(payload, mime_type)

            return create_resource(self, payload, request.url,
                                   mime_type=mime_type,
                                   item_mime_type=item_content_type)