# File src/WEBrickServlet.rb, line 26
        def do_GET request, response
                start_time = Time.now
                status = 'OK'
                iowa_log = Logger['iowa_log']
                buffer = ""
                req = Iowa::Request.new
                req.uri = request.path.to_s
                req.request_time = request.request_time
                req.hostname = request.host
                req.unparsed_uri = request.unparsed_uri
                req.filename = request.path
                #req.request_method = 
                #req.header_only = 
                # In an Apache::Request object, request.args is a string.  We want
                # to make a hash of these contents available for use, too.
                req.args = request.query_string
                #req.content_type = 
                #req.content_encoding = 
                #req.content_languages = 
                #req.remote_host = 
                #req.auth_type = 
                #req.auth_name = 
                #req.cache_resp = 
                request.query.each do |k,v|
                        req.params[ k ] = v.list.length > 1 ? v.list.join("\0") : v
                end
                request.header.each do |k,v| req.headers_in[ k ] = v end
                read_time = Time.now
                
                context = nil
                exception = catch(:session_error) do
                        begin
                                context = Iowa::Context.new(req, buffer)
                                Iowa.app.handleRequest(context)
                        rescue Exception => exception
                        end
                end

                if exception.to_s != '' and exception.kind_of? Exception
                        buffer << "<p>#{exception}<br/>"
                        buffer << exception.backtrace.join("<br/>\n").to_s
                        buffer << "</p>"
                        iowa_log.warn "Execution Error: #{exception} :: " + exception.backtrace.join(".....").to_s
                        status = 'EOUT'
                end                   

                response[ "Date" ] = "#{Time.now.asctime}"
                response[ "Pragma" ] = "no_cache"
                response[ "Connection" ] = "close"
                response[ "Content-Type" ] = req.content_type || "text/html"
                response[ "Content-Length" ] = buffer.length
                req.headers_out.each do |k,v| response[ k ] = v end

                response.body = context.response
                
                end_time = Time.now
                referer = req.headers_in['Referer'] != '' ? req.headers_in['Referer'] : request.uri
                iowa_log.info "#{start_time} (#{read_time.to_f - start_time.to_f}/#{end_time.to_f - start_time.to_f}) :: #{req.uri} #{status} #{buffer.length}B"
        end