% $OpenXM: OpenXM/src/kan96xx/Doc/httpd-rpc-8090.sm1,v 1.2 2002/12/04 00:02:10 takayama Exp $
%% This file overrides definitions in httpd-rpc.sm1
%% See also httpd-rpc.sh
[(parse) (httpd-rpc.sm1) pushfile] extension pop
/httpd.textarea.name (rpc) def
/httpd.oxasir.timer 1 def %% 1 to use timer, but it accepts only one command
%% 0 not to use timer. It accepts programs.
%% /httpd_action { } def
/httpd.title
(
OpenXM/Risa/Asir Online
)
def
/httpd.msg1
[
(Input example---factorization: fctr(x^3-1))
(
)
[(
AsirManual (En) , )] cat
[(
AsirManual (Ja) )] cat
httpd.oxasir.timer {
(
It accepts only one command. The limit of CPU time is 30 seconds.
Do not put ;
(semi-colon) after the command.
)
}{ } ifelse
(
)
[(You can also retrieve the result by GET /?) httpd.textarea.name (=) ( encoded_codes HTTP/1.0)]
(
)
] cat
def
%% A sample macro
/cookedCommand.simplest {
/arg1 set
[/in-cookedCommand /httpd.com] pushVariables
[
/httpd.com arg1 def
[(if (1) {) httpd.com (; };)] cat
/arg1 set
] pop
popVariables
arg1
} def
/cookedCommand {
/arg1 set
[/in-cookedCommand /httpd.com /fff] pushVariables
[
/httpd.com arg1 def
httpd.oxasir.timer not {
[(if (1) {) httpd.com (; };)] cat
/fff set
}{
[$timer(30,$ httpd.com
$,"Computation is aborted with the resource limit ( 30 seconds) or there was a syntax error.");$
] cat
/fff set
} ifelse
(cooked command is ) messagen fff message
/arg1 fff def
] pop
popVariables
arg1
} def
/httpd.refusedCommands
[(shell) (eval_str) (ox_) (sm1_)
(m_start) (m_N_) (m_Inverse) (m_TexForm) %(m_)
(connect) (load) (bload) (bsave)
(end) (quit) (output) (bload27) (open)
(plot) (ctrl) (debug) (error) (port) (bind) (accept)
(draw) (peek) (poke)
(write_string_to_a_file) (_filter)
]
def