lib/scripts/knjappserver_cgi.rb in knjappserver-0.0.22 vs lib/scripts/knjappserver_cgi.rb in knjappserver-0.0.23

- old
+ new

@@ -1,9 +1,7 @@ #!/usr/bin/env ruby1.9.1 -time_begin = Time.now - #This scripts start an appserver, executes a HTTP-request and terminates. #Good for programming appserver-supported projects without running an appserver all the time, #but really slow because of startup for every request. class Cgi_is_retarded @@ -63,25 +61,23 @@ :cmdline => false, :events => false, :cleaner => false, :dbrev => false, :mail_require => false, + :debug => false, :port => 0 #Ruby picks random port and we get the actual port after starting the appserver. }.merge(Knjappserver::CGI_CONF["knjappserver"]) knjappserver = Knjappserver.new(knjappserver_conf) knjappserver.start port = knjappserver.port - #Make request. http = Knj::Http2.new(:host => "localhost", :port => port) - #Spawn CGI-variable to emulate FCGI part. cgi = Cgi_is_retarded.new - #The rest is copied from the FCGI-part. headers = {} cgi.env_table.each do |key, val| if key[0, 5] == "HTTP_" and key != "HTTP_KNJAPPSERVER_CGI_CONFIG" key = Knj::Php.ucwords(key[5, key.length].gsub("_", " ")).gsub(" ", "-") @@ -134,11 +130,15 @@ count += 1 } }) end rescue Exception => e - knjappserver.stop - print "Content-Type: text/html\r\n" print "\n\n" print Knj::Errors.error_str(e, {:html => true}) + + begin + knjappserver.stop if knjappserver + rescue => e + print "<br />\n<br />\n" + Knj::Errors.error_str(e, {:html => true}) + end end \ No newline at end of file