require 'yaml' import 'Error_Index' class Main < Iowa::Component @@mapfileMTime = 0 @@urlMap = {} attr_accessor :dispatch_page def setup request = session.context.request if File.stat(application.mapfile).mtime != @@mapfileMTime File.open(application.mapfile,'r') {|mf| @@urlMap = YAML::load(mf)} @@mapfileMTime = File.stat(application.mapfile).mtime end @dispatch_page = nil if @@urlMap[request.uri] @dispatch_page = pageNamed @@urlMap[request.uri] dispatch_context = Iowa::Context.new(session.context.request,session.context.response) dispatch_context.sessionID = session.context.sessionID dispatch_context.requestID = session.requestCount @dispatch_page.handleResponse(dispatch_context) session.currentPage = @dispatch_page.dup end nil end end