Example #1
0
    def wrap_request(self, *args, **kwargs):
        """
        Prepares data and pass control to `restea.Resource` object

        :returns: :class: `flask.Response`
        """
        data_format, kwargs = self._get_format_name(kwargs)
        formatter = formats.get_formatter(data_format)

        resource = self._resource_class(FlaskRequestWrapper(flask.request), formatter)
        res, status_code, content_type = resource.dispatch(*args, **kwargs)

        return flask.Response(res, mimetype=content_type, status=status_code)
Example #2
0
    def wrap_request(self, request, *args, **kwargs):
        '''
        Prepares data and pass control to `restea.Resource` object

        :returns: :class: `django.http.HttpResponse`
        '''
        data_format, kwargs = self._get_format_name(kwargs)
        formatter = formats.get_formatter(data_format)

        resource = self._resource_class(DjangoRequestWrapper(request),
                                        formatter)
        res, status_code, content_type = resource.dispatch(*args, **kwargs)

        return HttpResponse(res, content_type=content_type, status=status_code)
Example #3
0
    def wrap_request(self, request, *args, **kwargs):
        '''
        Prepares data and pass control to `restea.Resource` object

        :returns: :class: `django.http.HttpResponse`
        '''
        data_format, kwargs = self._get_format_name(kwargs)
        formatter = formats.get_formatter(data_format)

        resource = self._resource_class(
            DjangoRequestWrapper(request), formatter
        )
        res, status_code, content_type = resource.dispatch(*args, **kwargs)

        return HttpResponse(
            res,
            content_type=content_type,
            status=status_code
        )
Example #4
0
    def wrap_request(self, request, *args, **kwargs):
        '''
        Prepares data and pass control to `restea.Resource` object

        :returns: :class: `wheezy.http.HTTPResponse`
        '''
        data_format, kwargs = self._get_format_name(kwargs)
        formatter = formats.get_formatter(data_format)

        resource = self._resource_class(
            WheezyRequestWrapper(request), formatter
        )
        res, status_code, content_type = resource.dispatch(*args, **kwargs)

        response = HTTPResponse(
            content_type=content_type,
        )
        response.write(res)
        response.status_code = status_code
        return response
Example #5
0
    def wrap_request(self, *args, **kwargs):
        '''
        Prepares data and pass control to `restea.Resource` object
        :returns: Response object for corresponding framework
        '''
        data_format, kwargs = self._get_format_name(kwargs)
        formatter = formats.get_formatter(data_format)
        original_request, args, kwargs = self.split_request_and_arguments(
            *args, **kwargs)

        if not self.request_wrapper_class:
            raise RuntimeError(
                '{} must have a request_wrapper_class attribute '
                'configured.'.format(self.__class__.__name__))

        resource = self._resource_class(
            self.request_wrapper_class(original_request), formatter)
        response_tuple = resource.dispatch(*args, **kwargs)

        if len(response_tuple) == 3:
            # For backward compatibility, it adds an empty dict as headers
            response_tuple += ({}, )

        return self.prepare_response(*response_tuple)
Example #6
0
def test_get_formatter_unexisting():
    with patch.dict(formats._formatter_registry, {}, clear=True):
        assert formats.get_formatter('a') is None
Example #7
0
def test_get_formatter():
    cls = mock.Mock(spec=formats.BaseFormatter)
    with patch.dict(formats._formatter_registry, {'a': cls}, clear=True):
        assert formats.get_formatter('a') == cls