# File lib/cgikit.rb, line 868
        def run( request = nil, response = nil )
                @adapter = create_adapter
                @adapter.run( request, response ) do | ckrequest, ckresponse |
                        @request  = ckrequest
                        @response = ckresponse

                        begin
                                # trap generic components
                                _ready_request_response
                                _ready_session
                                pre_action # hook

                                unless ckresponse.redirect?
                                        _event_loop ckresponse
                                end
                        rescue Exception => e
                                @error = e

                                # trap custom components' error
                                begin
                                        component = handle_error e
                                        ckresponse.content = component.to_s
                                rescue Exception => e
                                        component = _default_error_page e
                                        ckresponse.content = component.to_s
                                end
                        end

                        pre_respond # hook
                end
        end