First integration of the new GW_ design more centralized on connector, and does not require specific feature on GW_APPLICATION depending on the connector.
So this is really more flexible this way, and much easier to write application supporting CGI, FCGI, Nino and so on .. as demonstrated in hello_world This is a first version, more will come later, mainly migrating from Eiffel Web Reloaded to this Eiffel Web Framework project.
This commit is contained in:
80
library/server/libfcgi/tests/application_root.e
Normal file
80
library/server/libfcgi/tests/application_root.e
Normal file
@@ -0,0 +1,80 @@
|
||||
note
|
||||
description : "Objects that ..."
|
||||
author : "$Author$"
|
||||
date : "$Date$"
|
||||
revision : "$Revision$"
|
||||
|
||||
class
|
||||
APPLICATION_ROOT
|
||||
|
||||
create
|
||||
make
|
||||
|
||||
feature {NONE} -- Initialization
|
||||
|
||||
make
|
||||
-- Initialize `Current'.
|
||||
local
|
||||
res: INTEGER
|
||||
nb: INTEGER
|
||||
do
|
||||
initialize
|
||||
from
|
||||
res := fcgi.fcgi_listen
|
||||
until
|
||||
res < 0
|
||||
loop
|
||||
nb := nb + 1
|
||||
fcgi.put_string (header ("FCGI Eiffel Application"))
|
||||
|
||||
fcgi.put_string ("<h1>Hello FCGI Eiffel Application</h1>%N")
|
||||
fcgi.put_string ("Request number " + nb.out + "<br/>%N")
|
||||
|
||||
fcgi.put_string ("<ul>Environment variables%N")
|
||||
print_environment_variables (fcgi.updated_environ_variables)
|
||||
fcgi.put_string ("</ul>")
|
||||
fcgi.put_string (footer)
|
||||
|
||||
res := fcgi.fcgi_listen
|
||||
end
|
||||
end
|
||||
|
||||
feature -- Access
|
||||
|
||||
header (a_title: STRING): STRING
|
||||
do
|
||||
Result := "Content-type: text/html%R%N"
|
||||
Result.append ("%R%N")
|
||||
Result.append ("<html>%N")
|
||||
Result.append ("<head><title>" + a_title + "</title></head>")
|
||||
Result.append ("<body>%N")
|
||||
end
|
||||
|
||||
footer: STRING
|
||||
do
|
||||
Result := "</body>%N</html>%N"
|
||||
end
|
||||
|
||||
print_environment_variables (vars: HASH_TABLE [STRING, STRING])
|
||||
local
|
||||
do
|
||||
from
|
||||
vars.start
|
||||
until
|
||||
vars.after
|
||||
loop
|
||||
fcgi.put_string ("<li><strong>" + vars.key_for_iteration + "</strong> = " + vars.item_for_iteration + "</li>%N")
|
||||
vars.forth
|
||||
end
|
||||
end
|
||||
|
||||
feature {NONE} -- Implementation
|
||||
|
||||
initialize
|
||||
do
|
||||
create fcgi.make
|
||||
end
|
||||
|
||||
fcgi: FCGI
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user