version 1.12, 2001/08/23 00:16:55 |
version 1.24, 2002/10/24 02:30:15 |
|
|
%% $OpenXM: OpenXM/src/kan96xx/Doc/httpd-asir.sm1,v 1.11 2001/08/12 07:20:37 takayama Exp $ |
%% $OpenXM: OpenXM/src/kan96xx/Doc/httpd-asir.sm1,v 1.23 2002/10/24 02:12:34 takayama Exp $ |
%% http server by sm1 |
%% http server by sm1 |
|
|
[(parse) (httpd.sm1) pushfile] extension pop |
[(parse) (httpd.sm1) pushfile] extension pop |
|
|
/httpd.port 1200 def |
/httpd.port 1200 def |
/httpd.image.name (kobeuniv2.jpg) def |
/httpd.image.name (kobeuniv2.jpg) def |
/httpd.image.type (jpeg) def |
|
|
|
/httpd.initialization |
/httpd.initialization |
%% Put initialization codes here. |
%% Put initialization codes here. |
[ |
[ |
|
(XM_debug=0; ctrl("debug_window",0);) |
("Asirweb version 0.80. "+ |
("Asirweb version 0.80. "+ |
" Risa/Asir oxasir version "+rtostr(version());) |
" Risa/Asir oxasir version "+rtostr(version());) |
] cat |
] cat |
|
|
/httpd.port 1200 rrr add def |
/httpd.port 1200 rrr add def |
httpd.port message |
httpd.port message |
|
|
[(sleep 3; netscape -geometry 800x500 http://localhost:) |
%%[(sleep 3; netscape -geometry 800x500 http://localhost:) |
httpd.port toString |
%% httpd.port toString |
( &)] cat system |
%% ( &)] cat system |
|
[(ostype)] extension 0 get |
|
(windows) eq { |
|
%% On windows. |
|
[(forkExec) |
|
[ |
|
%%(c:\windows\command\start) |
|
ox.win.start.0 aload pop |
|
(iexplore) %% Starting internet explorer (TM). |
|
[(http://localhost:) httpd.port toString] cat |
|
] |
|
[ ] |
|
3] extension |
|
}{ |
|
%% On unix. |
|
[(sleep 3 ; netscape http://localhost:) httpd.port toString ( & ) ] cat |
|
system |
|
} ifelse |
|
|
httpd ; |
httpd ; |
] pop |
] pop |
popVariables |
popVariables |
|
|
/httpd_action { |
/httpd_action { |
[/in-httpd /ff /httpd.com /httpd.result /sss |
[/in-httpd /ff /httpd.com /httpd.result /sss |
/sss.engine /sss.web /err |
/sss.engine /sss.web /err |
|
/oxserver.vname |
] pushVariables |
] pushVariables |
[ |
[ |
{ |
{ |
[(sm1.socket) (select) [httpd.server.fd 0 get -1]] extension |
[(sm1.socket) (select) [httpd.server.fd 0 get -1]] extension |
%% wait for ever |
%% wait for ever |
[(sm1.socket) (read) [httpd.server.fd 0 get ]] extension /ff set |
[(sm1.socket) (readHTTP) [httpd.server.fd 0 get ]] extension /ff set |
ff length 0 eq { |
ff tag 0 eq { |
(connection is closed.) message |
(connection is closed.) message exit |
} |
} |
{ |
{ |
(------------ start ----------------------) message |
(------------ start ----------------------) message |
|
|
( ) message |
( ) message |
httpd.serial 0 eq { |
httpd.serial 0 eq { |
/httpd.com httpd.initialization def |
/httpd.com httpd.initialization def |
|
/httpd.textarea.valid 1 def |
} { } ifelse |
} { } ifelse |
httpd.sendFile tag 0 eq { } |
httpd.sendFile tag 0 eq { } |
{ |
{ |
|
|
} ifelse |
} ifelse |
httpd.com metaCommand { |
httpd.com metaCommand { |
httpd.textarea.valid { |
httpd.textarea.valid { |
|
/oxserver.vname |
|
[Oxserver_history_variable httpd.serial toString] cat |
|
def |
oxasir.ccc |
oxasir.ccc |
[(if (1) {) httpd.com (; };)] cat |
[(if (1) {) httpd.com (; };)] cat |
oxexecutestring ; |
oxexecutestring ; |
}{ |
}{ |
send-page-warning exit |
send-page-warning exit |
|
|
[(oxReq) oxasir.ccc SM_dupErrors ] extension pop |
[(oxReq) oxasir.ccc SM_dupErrors ] extension pop |
|
|
[(oxReq) oxasir.ccc SM_popCMO ] extension pop |
[(oxReq) oxasir.ccc SM_popCMO ] extension pop |
|
|
|
[(oxReq) oxasir.ccc SM_setName oxserver.vname] extension pop |
|
oxasir.ccc [oxserver.vname (;)] cat oxexecutestring |
|
|
[(oxReq) oxasir.ccc SM_popString ] extension pop |
[(oxReq) oxasir.ccc SM_popString ] extension pop |
[(flush)] extension pop |
[(flush)] extension pop |
%% Select inputs for interruption. |
%% Select inputs for interruption. |
|
|
|
|
/metaCommand { |
/metaCommand { |
/arg1 set |
/arg1 set |
[/in-metaCommand /msg /result /msg2 /nn] pushVariables |
[/in-metaCommand /msg /result /msg2 /nn |
|
/err /fn |
|
] pushVariables |
[ |
[ |
/msg arg1 def |
/msg arg1 def |
/result 1 def |
/result 1 def |
|
|
msg2 0 get (httpdAsirMeta) eq |
msg2 0 get (httpdAsirMeta) eq |
msg2 1 get (Pretty) eq and |
msg2 1 get (Pretty) eq and |
{ |
{ |
|
httpd.image.type null eq { |
|
send-page-warning-image |
|
/skip-image goto |
|
} { } ifelse |
|
|
|
|
msg2 2 get . (integer) dc /nn set |
msg2 2 get . (integer) dc /nn set |
|
|
%%BUG: This part should be rewritten. |
|
%% Reformat the "nn"-th result by tex and send it. |
%% Reformat the "nn"-th result by tex and send it. |
httpd.result.history nn get message |
%% BUG: index is out of bound. httpd.result.history nn get message |
httpd.image.name httpd.image.type send-image |
|
|
oxasir.ccc |
|
[$print_$ httpd.image.type $_form(Oxserver_history_variable_$ |
|
nn toString |
|
$);$ |
|
] cat |
|
(cmo) |
|
executeStringAndSelectInputFromBrowserAndOxserver |
|
dup 0 get /err set |
|
1 get /fn set |
|
err [ ] eq { |
|
fn 0 get httpd.image.type send-image |
|
} { |
|
[err preformatHTML] cat |
|
send-page-3 |
|
} ifelse |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
|
|
/skip-image |
/result 0 def |
/result 0 def |
} { } ifelse |
} { } ifelse |
}{ } ifelse |
}{ } ifelse |