"DTD/xhtml1-strict.dtd">
Class Amrita::AmsHandler
In: lib/amrita/handlers.rb
Parent: Object

a mod_ruby handler for amrita-script

Methods
handler   
Included modules
Apache Singleton
Public Instance methods
handler(r)
# File lib/amrita/handlers.rb, line 10
    def handler(r)
      if r.method_number == M_OPTIONS
	r.allowed |= (1 << M_GET)
	r.allowed |= (1 << M_POST)
	return DECLINED
      end
      if r.finfo.mode == 0
	return NOT_FOUND
      end
      if r.allow_options & OPT_EXECCGI == 0
	r.log_reason("Options ExecCGI is off in this directory", r.filename)
	return FORBIDDEN
      end
      unless r.finfo.executable?
	r.log_reason("file permissions deny server execution", r.filename)
	return FORBIDDEN
      end
      r.setup_cgi_env
      filename = r.filename.dup.untaint
      Apache.chdir_file(filename)

      $amrita_template_path = filename

      t = Amrita::AmsTemplate[filename]
      t.use_compiler = true
      
      r.content_type = "text/html"
      r.send_http_header
      t.expand(r)

      return OK
    end