def __call__(self, request, method_name, format):
        """Searchs the method, calls it and transforms the response
            into a serialized format"""
        if self.auth:
            response = self.auth.login(request)
            if response:
                return response

        try:
            response_cls = get_response(format)
        except UnknownFormat:
            raise Http404('No registered serializer for format "%s"' % format)

        try:
            method = self.get_method(self.READ_WRITE_MAPPING[request.method],
                method_name)
        except KeyError:
            raise Http404('Method "%s" not found' % method_name)

        try:
            if request.method == 'POST':
                response = method(request, copy(request.POST))
            else:
                response = method(request, copy(request.GET))
        except ApiLoginRequired:
            return self.auth.login_required(request)
        except ApiError, e:
            return e.get_response()

        response.kwargs['request'] = request
        return response.transform(response_cls)
dataset/ETHPy150Open fiam/wapi/bindings.py/RestBinding.__call__/original