[BACK]Return to httpd-asir.sm1 CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / Doc

Diff for /OpenXM/src/kan96xx/Doc/httpd-asir.sm1 between version 1.6 and 1.9

version 1.6, 2001/04/22 00:34:01 version 1.9, 2001/04/22 04:55:07
Line 1 
Line 1 
 %% $OpenXM: OpenXM/src/kan96xx/Doc/httpd-asir.sm1,v 1.5 2001/04/21 13:54:29 takayama Exp $  %% $OpenXM: OpenXM/src/kan96xx/Doc/httpd-asir.sm1,v 1.8 2001/04/22 04:35:46 takayama Exp $
 %% http server by sm1  %% http server by sm1
   
 /httpd.port 1200 def  /httpd.port 1200 def
   
 /httpd.initialization  /httpd.initialization
 %% Put initialization codes here.  %% Put initialization codes here.
  [   [
Line 9 
Line 10 
    " Risa/Asir oxasir version "+rtostr(version());)     " Risa/Asir oxasir version "+rtostr(version());)
  ] cat   ] cat
 def  def
   
 [(parse) (oxasir.sm1) pushfile] extension  [(parse) (oxasir.sm1) pushfile] extension
 (oxasir.started) boundp {  (oxasir.started) boundp {
 } {  } {
Line 19  def
Line 21  def
 } ifelse  } ifelse
   
 /asirweb {  /asirweb {
    [/rrr ] pushVariables
    [
     %% This procedure to generate port number might fail.
     [(oxGenPass)] extension . (integer) dc  /rrr set
     rrr << rrr 20000 idiv 20000 mul >> sub /rrr set
     /httpd.port 1200 rrr add def
     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
    httpd ;     httpd ;
     ] pop
     popVariables
 } def  } def
   
 /httpd_startserver {  /httpd_startserver {
Line 94  def
Line 106  def
             /httpd.com  httpd.initialization def              /httpd.com  httpd.initialization def
           } { } ifelse            } { } ifelse
           httpd.com metaCommand {            httpd.com metaCommand {
             oxasir.ccc              httpd.textarea.valid {
              [(if (1) {)  httpd.com  (};)] cat                oxasir.ccc
             oxexecutestring ;                 [(if (1) {)  httpd.com  (; };)] cat
                 oxexecutestring ;
               }{
                 send-page-warning  exit
               } ifelse
             [(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
Line 140  def
Line 156  def
                  (/**** ) httpd.serial toString ( ****/)                   (/**** ) httpd.serial toString ( ****/)
                  10 (string) dc                   10 (string) dc
                   httpd.com                    httpd.com
                    (;)  %% add extra ;
                  ] cat                   ] cat
                 append                  append
               def                def
Line 153  def
Line 170  def
                 (<title> asirweb </title> )                  (<title> asirweb </title> )
                 (<font color="blue"> Input-) httpd.serial toString                  (<font color="blue"> Input-) httpd.serial toString
                  (: </font> )                   (: </font> )
                 (<pre> ) httpd.com (</pre>) (<br>)                   httpd.com preformatHTML (<br>)
               } ifelse                } ifelse
              (<font color="green"> Output-) httpd.serial toString               (<font color="green"> Output-) httpd.serial toString
              (: </font> )               (: </font> )
              (<pre>) httpd.result (</pre>)                httpd.result preformatHTML
             ] cat              ] cat
             send-page-3  exit              send-page-3  exit
           } { exit } ifelse  %% metaCommand            } { exit } ifelse  %% metaCommand
Line 214  def
Line 231  def
    result sendln     result sendln
    (<FORM NAME="myFORM">) sendln     (<FORM NAME="myFORM">) sendln
    (<INPUT TYPE=submit VALUE="submit">) sendln     (<INPUT TYPE=submit VALUE="submit">) sendln
    (<textarea name=msg rows=10 cols="80" wrap="soft"></textarea>) sendln     [(<textarea name=) httpd.textarea.name
       ( rows=10 cols="80" wrap="soft"></textarea>)] cat sendln
    (</FORM>) sendln     (</FORM>) sendln
    send-menu-1     send-menu-1
    0 sendln     0 sendln
Line 260  def
Line 278  def
  [   [
    (HTTP/0.9 200 OK) sendln     (HTTP/0.9 200 OK) sendln
    (Connection: close) sendln     (Connection: close) sendln
    (Content-Type: text/html) sendln     (Content-Type: text/plain) sendln
    0 sendln     0 sendln
    (<html> <body>) sendln     (/* Saved the following to sm1out.txt */) sendln
    (/* Saved the following to sm1out.txt */<br>) sendln     (/* Save the following by your browser as a text file. */) sendln
    (/* Save the following by your browser as a text file. */<br>) sendln  
   
    (<pre>) sendln  
    0 1 httpd.history length 1 sub {     0 1 httpd.history length 1 sub {
      /i set       /i set
      httpd.history i get sendln       httpd.history i get sendln
    } for     } for
    (</pre>) sendln     ( end$) sendln
    (</body> </html>) sendln  
    0 sendln     0 sendln
    [(flush)] extension     [(flush)] extension
    [(PrintDollar) 1] system_variable     [(PrintDollar) 1] system_variable
Line 282  def
Line 297  def
  popVariables   popVariables
 } def  } def
   
   /send-page-warning {
      (HTTP/0.9 200 OK) sendln
      (Connection: close) sendln
      (Content-Type: text/html) sendln
      0 sendln
      (You cannot execute oxasir without a session key! <br>) sendln
      0 sendln
      [(flush)] extension
   } def
   
 /stopclient {  /stopclient {
   [(sm1.socket) (close) [client.fdAndPort 0 get] ] extension message    [(sm1.socket) (close) [client.fdAndPort 0 get] ] extension message
Line 333  def
Line 357  def
   arg1    arg1
 } def  } def
   
   /randomName {
     [/in-randomName /sss /rrr ] pushVariables
     [
       %% Seed name
       /sss [ 97 97 97 97 97 97 97 97 97 97 ] def  %% 97 == 'a'
       %% This procedure to generate port number might fail.
       sss {
         [
           [(oxGenPass)] extension .. /rrr set
           [(tdiv_qr) rrr (26)..] mpzext 1 get /rrr set
         ] pop
         rrr (integer) dc add
       } map
       /sss set
       sss {(string) dc} map cat /arg1 set
     ] pop
     popVariables
     arg1
   } def
   
   (httpd.textarea.name) boundp { }
    {
       /httpd.textarea.name  randomName def
       /httpd.textarea.name.aaa
          [(GET /?) httpd.textarea.name] cat
          (array) dc
       def
    } ifelse
   
   %% remove GET /?msg=
 /removeGET {  /removeGET {
   /arg1 set    /arg1 set
   [/in-removeGET /s /s2 /i /j] pushVariables    [/in-removeGET /s /s2 /i /j /i0
      /tname
     ] pushVariables
   [    [
      /s arg1 def       /s arg1 def
        /httpd.textarea.valid 1 def
      s 1 copy /s2 set       s 1 copy /s2 set
      s (array) dc /s set       s (array) dc /s set
   
        /tname  [  ] def
        0 1 s length 1 sub {
          /i0 set
          s i0 get 61 eq {  %% 61 is =
            i0 1 add /i0 set
            tname message
            httpd.textarea.name.aaa message
            tname httpd.textarea.name.aaa eq {
              /httpd.textarea.valid 1 def
            } {
              /httpd.textarea.valid 0 def
              (Warning: got an invalid name for the text field.) message
            } ifelse
            exit
          } { } ifelse
          tname s i0 get append /tname set
        } for
   
      /j 0 def       /j 0 def
      10 1 s length 1 sub {       i0 1 s length 1 sub {
        /i set         /i set
        s2 j << s i get (string) dc >> put         s2 j << s i get (string) dc >> put
        j 1 add /j set         j 1 add /j set
Line 391  def
Line 467  def
   arg1    arg1
 } def  } def
   
   /preformatHTML {
     /arg1 set
     [/in-preformatHTML /sss /c] pushVariables
     [
        /sss arg1 def
        sss (array) dc /sss set
        sss {
          /c set
          [
             c 60 eq {
               /c (&lt) def
             } {  } ifelse
             c 62 eq {
               /c (&gt) def
             } {  } ifelse
             c 38 eq {
               /c (&amp) def
             } {  } ifelse
           ] pop
           c (string) dc
        } map cat /sss set
        [(<pre> ) sss ( </pre> )] cat /arg1 set
     ] pop
     popVariables
     arg1
   } def
   
 /metaCommand {  /metaCommand {
   /arg1 set    /arg1 set
   [/in-metaCommand /msg /result] pushVariables    [/in-metaCommand /msg /result] pushVariables
Line 398  def
Line 501  def
     /msg arg1 def      /msg arg1 def
     /result 1 def      /result 1 def
     msg (httpdAsirMeta quit) eq {      msg (httpdAsirMeta quit) eq {
          oxasir.ccc oxshutdown
        send-page-bye         send-page-bye
        quit         quit
        /result 0 def         /result 0 def

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.9

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>