def dispatch(self, request, *args, **kwargs):
        """
        Redefine parent's method.

        Called on each new request from user.

        Main difference between Django's approach and ours - we don't push
        a 'request' to a method call. We use 'self.request' instead.
        """
        # this part copied from django source code
        if request.method.lower() in self.http_method_names:
            handler = getattr(self, request.method.lower(),
                              self.http_method_not_allowed)
        else:
            handler = self.http_method_not_allowed
        # we changed only this line - removed first 'request' argument
        return handler(*args, **kwargs)
Redefine parent's method.

        Called on each new request from user.

        Main difference between Django's approach and ours - we don't push
        a 'request' to a method call. We use 'self.request' instead.