===================================================================
RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/httpd-asir.sm1,v
retrieving revision 1.10
retrieving revision 1.14
diff -u -p -r1.10 -r1.14
--- OpenXM/src/kan96xx/Doc/httpd-asir.sm1 2001/04/23 13:34:00 1.10
+++ OpenXM/src/kan96xx/Doc/httpd-asir.sm1 2001/08/23 02:08:41 1.14
@@ -1,7 +1,11 @@
-%% $OpenXM: OpenXM/src/kan96xx/Doc/httpd-asir.sm1,v 1.9 2001/04/22 04:55:07 takayama Exp $
+%% $OpenXM: OpenXM/src/kan96xx/Doc/httpd-asir.sm1,v 1.13 2001/08/23 00:49:00 takayama Exp $
%% http server by sm1
+[(parse) (httpd.sm1) pushfile] extension pop
+
/httpd.port 1200 def
+/httpd.image.name (kobeuniv2.jpg) def
+/httpd.image.type (jpeg) def
/httpd.initialization
%% Put initialization codes here.
@@ -20,6 +24,7 @@ def
oxasir.ccc oxsetmathcap
} ifelse
+/webasir { asirweb } def
/asirweb {
[/rrr ] pushVariables
[
@@ -37,58 +42,11 @@ def
popVariables
} def
-/httpd_startserver {
- [(sm1.socket) (open) [httpd.port (localhost)]] extension
- /httpd.server.fdAndPort set
- (sm1.socket.open returns ) messagen httpd.server.fdAndPort message
- [(sm1.socket) (accept) [httpd.server.fdAndPort 0 get]] extension
- /httpd.server.fd set
- (connected.) message
- (sm1.socket.accept returns ) messagen httpd.server.fd message
-} def
-/httpd_stopserver {
- [(sm1.socket) (close) httpd.server.fd ] extension message
-} def
-
-/send_packet {
- /arg1 set
- [(sm1.socket) (write) [httpd.server.fd 0 get arg1]] extension message
-} def
-
-/sendln {
- /arg1 set
- [/in-sendln /mmm] pushVariables
- [ arg1 /mmm set
- mmm tag 5 eq {
- [mmm 10 (string) dc] cat /mmm set
- }{
- 10 (string) dc /mmm set
- } ifelse
- [(sm1.socket) (select) [httpd.server.fd 0 get 0]] extension {
- (Warning: your peer closed the connection. Do not send the data.) message
- } {
- [(sm1.socket) (write) [httpd.server.fd 0 get mmm]] extension message
- } ifelse
- ] pop
- popVariables
-} def
-
-/httpd {
- /httpd.serial 0 def
- /httpd.history [ ] def
- {
- httpd_startserver ;
- httpd_action ;
- httpd_stopserver ;
- (5 sleep) system
- httpd.serial 1 add /httpd.serial set
- } loop
-} def
-
/httpd_action {
[/in-httpd /ff /httpd.com /httpd.result /sss
/sss.engine /sss.web /err
+ /oxserver.vname
] pushVariables
[
{
@@ -102,17 +60,31 @@ def
(------------ start ----------------------) message
ff message
(-----------------------------------------) message
- ff removeGET webstringToAscii /httpd.com set
- httpd.com message
+ ff 1 copy askToSendFile /httpd.sendFile set
+ httpd.sendFile tag 0 eq {
+ ff removeGET webstringToAscii /httpd.com set
+ } {
+ /httpd.com (NONE) def
+ } ifelse
+ [(httpd.com=) httpd.com] cat message
+ (httpd.sendFile=) messagen httpd.sendFile message
(------------ end ----------------------) message
( ) message
httpd.serial 0 eq {
/httpd.com httpd.initialization def
} { } ifelse
+ httpd.sendFile tag 0 eq { }
+ {
+ httpd.sendFile httpd.image.type send-image
+ exit %% exit the loop LOOP-A
+ } ifelse
httpd.com metaCommand {
httpd.textarea.valid {
+ /oxserver.vname
+ [Oxserver_history_variable httpd.serial toString] cat
+ def
oxasir.ccc
- [(if (1) {) httpd.com (; };)] cat
+ [(if (1) {) httpd.com (; };)] cat
oxexecutestring ;
}{
send-page-warning exit
@@ -120,6 +92,10 @@ def
[(oxReq) oxasir.ccc SM_dupErrors ] 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
[(flush)] extension pop
%% Select inputs for interruption.
@@ -178,73 +154,23 @@ def
} ifelse
( Output-) httpd.serial toString
(: )
+ ( (in pretty format) )
+ %%( (in pretty format) ) %%test
httpd.result preformatHTML
+ httpd.result.history httpd.result append /httpd.result.history set
] cat
- send-page-3 exit
+ send-page-3 exit %% exit the loop LOOP-A
} { exit } ifelse %% metaCommand
} ifelse
- } loop
+ } loop %% LOOP-A
] pop
popVariables
} def
-/send-page-bye {
- (HTTP/0.9 200 OK) sendln
-%% (Date: Sun, 18 Mar 2001 02:54:50 GMT) sendln
-%% (Server: sm1/0.1 (Unix)) sendln
-%% (Last-Modified: Wed, 23 Aug 2000 11:19:27 GMT) sendln
-%% (ETag: "1f8f-5df-39a3b33f") sendln
-%% (Accept-Ranges: bytes) sendln
-%% (Content-Length: 10) sendln
- (Connection: close) sendln
-% (Content-Type: text/plain) sendln
- (Content-Type: text/html) sendln
- 0 sendln
- () sendln
- (Shutdown the engine.
) sendln
- (See you! asirweb ) sendln
- () sendln
- 0 sendln
- [(flush)] extension
-} def
-/send-page-2 {
- (HTTP/0.9 200 OK) sendln
-%% (Content-Length: 10) sendln
- (Connection: close) sendln
- (Content-Type: text/html) sendln
- 0 sendln
- (
) sss ()] cat /arg1 set - ] pop - popVariables - arg1 -} def - -/metaCommand { - /arg1 set - [/in-metaCommand /msg /result] pushVariables - [ - /msg arg1 def - /result 1 def + /result 0 def + } { } ifelse + }{ } ifelse msg (httpdAsirMeta quit) eq { oxasir.ccc oxshutdown send-page-bye