def run(request, response)
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)
if block_given?
yield(ckrequest, ckresponse)
end
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