Added SCOOP support for WSF.
WSF_SERVICE is deeply changed, and addition of WSF_EXECUTION. Todo: code cleaning, removing useless things.
This commit is contained in:
@@ -67,7 +67,11 @@ feature -- Access
|
||||
|
||||
|
||||
create p.make_with_body (s)
|
||||
if {PLATFORM}.is_windows and req.wgi_connector.name.is_case_insensitive_equal ("cgi") then
|
||||
if
|
||||
{PLATFORM}.is_windows and then
|
||||
attached req.wgi_connector as conn and then
|
||||
is_cgi_connector (conn)
|
||||
then
|
||||
--| FIXME: the CGI connector add %R for any single %N character, so update the Content-Length accordingly.
|
||||
-- Dirty hack to handle correctly CGI on Windows, since it seems "abc%N" will be sent as "abc%R%N"
|
||||
l_len := 0
|
||||
@@ -96,9 +100,17 @@ feature -- Access
|
||||
res.send (p)
|
||||
end
|
||||
|
||||
is_cgi_connector (conn: separate WGI_CONNECTOR): BOOLEAN
|
||||
local
|
||||
s: STRING
|
||||
do
|
||||
create s.make_from_separate (conn.name)
|
||||
Result := s.is_case_insensitive_equal_general ("cgi")
|
||||
end
|
||||
|
||||
|
||||
note
|
||||
copyright: "2011-2014, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
|
||||
copyright: "2011-2015, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
|
||||
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
|
||||
source: "[
|
||||
Eiffel Software
|
||||
|
||||
@@ -61,12 +61,32 @@ feature -- Execution
|
||||
a_output.append (" version=")
|
||||
a_output.append (req.wgi_version)
|
||||
a_output.append (" connector=%"")
|
||||
a_output.append (req.wgi_connector.name)
|
||||
a_output.append (" connector-version=")
|
||||
a_output.append (req.wgi_connector.version)
|
||||
if attached req.wgi_connector as conn then
|
||||
append_connector_name_to (conn, a_output)
|
||||
a_output.append ("%" connector-version=")
|
||||
append_connector_version_to (conn, a_output)
|
||||
else
|
||||
a_output.append ("none")
|
||||
end
|
||||
a_output.append (eol)
|
||||
end
|
||||
|
||||
append_connector_name_to (conn: separate WGI_CONNECTOR; a_output: STRING)
|
||||
local
|
||||
s: STRING
|
||||
do
|
||||
create s.make_from_separate (conn.name)
|
||||
a_output.append (s)
|
||||
end
|
||||
|
||||
append_connector_version_to (conn: separate WGI_CONNECTOR; a_output: STRING)
|
||||
local
|
||||
s: STRING
|
||||
do
|
||||
create s.make_from_separate (conn.version)
|
||||
a_output.append (s)
|
||||
end
|
||||
|
||||
append_cgi_variables_to (req: WSF_REQUEST; res: WSF_RESPONSE; a_output: STRING)
|
||||
do
|
||||
a_output.append ("CGI variables:")
|
||||
@@ -385,7 +405,7 @@ feature -- Constants
|
||||
invariant
|
||||
|
||||
note
|
||||
copyright: "2011-2014, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
|
||||
copyright: "2011-2015, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Colin Adams, Eiffel Software and others"
|
||||
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
|
||||
source: "[
|
||||
Eiffel Software
|
||||
|
||||
Reference in New Issue
Block a user