def process_http_request(params,linebuffer,client)
if not params[Const::REQUEST_PATH]
uri = URI.parse(params[Const::REQUEST_URI])
params[Const::REQUEST_PATH] = uri.request_uri
end
raise "No REQUEST PATH" if not params[Const::REQUEST_PATH]
script_name, path_info, handlers = @classifier.resolve(params[Const::REQUEST_PATH])
if handlers
notifiers = handlers.select { |h| h.request_notify }
request = HttpRequest.new(params, linebuffer, notifiers)
response = HttpResponse.new(client)
dispatch_to_handlers(handlers,request,response)
unless response.done
response.finished
else
response.close_connection
end
else
client.send_data(Const::ERROR_404_RESPONSE)
client.close_connection
end
end