# File lib/cgikit.rb, line 278
                def run(request, response)
                        # set request
                        headers = request.meta_vars
                        form_values = Hash.new([])
                        request.query.each{|key, val|
                                form_values[key] = val.list
                        }

                        ckrequest  = CKRequest.new(headers, form_values)
                        ckresponse = CKResponse.new(headers)

                        # run
                        if block_given?
                                yield(ckrequest, ckresponse)
                        end

                        # set response
                        response.request_http_version = ckresponse.http_version
                        response.status = ckresponse.status
                        ckresponse.headers.each{|key, val|
                                if LEAVE_HEADER[key]
                                        response[key] = val
                                end
                        }
                        response['Content-Type'] = ckresponse.headers['Content-Type']
                        if ckresponse.encoding
                                response['Content-Type'] << "; charset=#{ckresponse.encoding}"
                        end
                        ckresponse.cookies.each{|cookie|
                                response.cookies << cookie
                        }
                        response.body = ckresponse.content
                end