=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/httpd.sm1,v retrieving revision 1.2 retrieving revision 1.5 diff -u -p -r1.2 -r1.5 --- OpenXM/src/kan96xx/Doc/httpd.sm1 2001/08/23 00:49:00 1.2 +++ OpenXM/src/kan96xx/Doc/httpd.sm1 2001/09/20 05:57:40 1.5 @@ -1,7 +1,11 @@ -%% $OpenXM: OpenXM/src/kan96xx/Doc/httpd.sm1,v 1.1 2001/08/23 00:16:55 takayama Exp $ +%% $OpenXM: OpenXM/src/kan96xx/Doc/httpd.sm1,v 1.4 2001/08/29 11:18:57 takayama Exp $ %% common modules for httpd on sm1. /Oxserver_history_variable (Oxserver_history_variable_) def +/httpd.image.type + [(getenv) (OpenXM_PSTOIMG_TYPE)] extension +def + /httpd_startserver { [(sm1.socket) (open) [httpd.port (localhost)]] extension /httpd.server.fdAndPort set @@ -174,6 +178,17 @@ [(flush)] extension } def +/send-page-warning-image { + (HTTP/0.9 200 OK) sendln + (Connection: close) sendln + (Content-Type: text/html) sendln + 0 sendln + (Error: Image translation is not supported on this server
) sendln + ( Check the value of the environmental variable OpenXM_PSTOIMG_TYPE
) sendln + 0 sendln + [(flush)] extension +} def + /stopclient { [(sm1.socket) (close) [client.fdAndPort 0 get] ] extension message } def @@ -411,10 +426,11 @@ arg1 } def -/executeStringAndSelectInputFromBrowsersAndOxserver { +/executeStringAndSelectInputFromBrowserAndOxserver { + /arg3 set /arg2 set /arg1 set - [/in-executeStringAndSelectInputFromBrowsersAndOxserver + [/in-executeStringAndSelectInputFromBrowserAndOxserver /oxserver.ccc /command.to.oxserver /sss.engine @@ -422,11 +438,13 @@ /sss /err /httpd.result + /stringOrCmo ] pushVariables % Global var: httpd.server.fd [ /oxserver.ccc arg1 def /command.to.oxserver arg2 def + /stringOrCmo arg3 def oxserver.ccc command.to.oxserver oxexecutestring ; @@ -434,7 +452,11 @@ [(oxReq) oxserver.ccc SM_dupErrors ] extension pop [(oxReq) oxserver.ccc SM_popCMO ] extension pop - [(oxReq) oxserver.ccc SM_popString ] extension pop + stringOrCmo (string) eq { + [(oxReq) oxserver.ccc SM_popString ] extension pop + }{ + [(oxReq) oxserver.ccc SM_popCMO ] extension pop + } ifelse [(flush)] extension pop %% Select inputs for interruption. %% Wait by the spin lock. @@ -453,7 +475,6 @@ sss 0 get { [(oxGet) oxserver.ccc] extension /err set [(oxGet) oxserver.ccc] extension /httpd.result set - %% oxserver.ccc oxpopstring /httpd.result set } { oxserver.ccc oxreset oxserver.ccc ("computation is interrupted.";) oxexecutestring ;