def register_request_processor(cls, fn, key=None):
        """
        Registers the passed callable as request processor. A request processor
        always receives two arguments, the current object and the request.
        """
        if cls.request_processors is None:
            cls.request_processors = OrderedDict()
        cls.request_processors[fn if key is None else key] = fn

        Registers the passed callable as request processor. A request processor
        always receives two arguments, the current object and the request.
        
feincms/module/mixins.py