diff options
author | Jack Jansen <jack.jansen@cwi.nl> | 1996-09-09 01:47:24 (GMT) |
---|---|---|
committer | Jack Jansen <jack.jansen@cwi.nl> | 1996-09-09 01:47:24 (GMT) |
commit | 5a1a17517021cfb9b43558efa13b602ce569fb1b (patch) | |
tree | bdb499785a285ed4de772bca07657176a88306a6 /Mac/Demo/cgi | |
parent | f4c4f9e9e1663e93650c08f2ebafe0dfc49e0b52 (diff) | |
download | cpython-5a1a17517021cfb9b43558efa13b602ce569fb1b.zip cpython-5a1a17517021cfb9b43558efa13b602ce569fb1b.tar.gz cpython-5a1a17517021cfb9b43558efa13b602ce569fb1b.tar.bz2 |
Example CGI applet
Diffstat (limited to 'Mac/Demo/cgi')
-rw-r--r-- | Mac/Demo/cgi/cgitest.cgi.py | 2 | ||||
-rw-r--r-- | Mac/Demo/cgi/cgitest.cgi.rsrc.hqx | 122 | ||||
-rw-r--r-- | Mac/Demo/cgi/realcgitest.py | 45 |
3 files changed, 169 insertions, 0 deletions
diff --git a/Mac/Demo/cgi/cgitest.cgi.py b/Mac/Demo/cgi/cgitest.cgi.py new file mode 100644 index 0000000..ce59710 --- /dev/null +++ b/Mac/Demo/cgi/cgitest.cgi.py @@ -0,0 +1,2 @@ +# Debug applets quickly. +execfile('realcgitest.py') diff --git a/Mac/Demo/cgi/cgitest.cgi.rsrc.hqx b/Mac/Demo/cgi/cgitest.cgi.rsrc.hqx new file mode 100644 index 0000000..967f9fe --- /dev/null +++ b/Mac/Demo/cgi/cgitest.cgi.rsrc.hqx @@ -0,0 +1,122 @@ +(This file must be converted with BinHex 4.0) + +:%'0RDA4PFh3ZBfGT,R*cFQ-!FR0bBe*6483"!*!((`VqD`#3"!%!!!!G33!!(%% +!!!(*0K3J9#"S!"3J8(d4X'J4!$S"CbB5,`a1ZJ)-$$S!@RN-BfGTG'9cG#jbFh* +M,J)!!!"bFh*M8P0&4!%!!%!!D`!!FR0bBe*6483"!!"!!'X!N"+Z*Rm,!*!'(`V +r%F#SD3%G3"(rma0`!"!Zrr1pdK&Q%&%f[P9V!3,fK[P9V!3%`86)"Caj%&3` +!!"aP%R!!%#j$&3`!!"pL"R!"B!!"!3)X@P3Y,N5p!3!E2!&Q-#G92KT+J#"6!LJ +![`!Z)J$Y#3)"!%#$+0Xd%kRA,`a1ZJ%*5QGV!3#Q9d-k!!!"!"%!!!!""q!!J3C +J!!!(i!#3!!'!!*!!!B!!N!$rrJ#3!2rq!"$rr`#4rm#!NIq!3*(r-##$rmJ3Jq" +rMi2q-!H(r`!(Krq!"iIri!F2rrrR$rrrh`rrrqFGcrrJ'Elrq"emCMJp(YVF2@l +Dh$eZfYapRQEHIrrrrRrrrri!N!N2m!!!$r!!!!r`!!!2m!!!$r!!!IrrJ!(rri! +"rrq!!rrrJ!2rrm!$rrrJ"rrrm!Irrrm(rrrr$rrrr`rrrrm2rrrr(rrrrarrrrm +Irrrr2rrrq$rrrr`rrrrmIrrrrRrrrrjrrrrqrj!8!*!(#P$J!"k%J!!(S5!!!!" +!!*!%%i!6J!%!*m!Rm#F1$JB2KJrQ'VJDX"r`!*!%rj!J!!!"!!!"!!!3!S!!"!4 +!!%3))!"9m"!!85!)!&$$p!"3aKS!%r`r!&2m(S"(r#Y!6rJK)&Ii$j!!Er`rL%r +m2i62r"q#Ari2JArq$i)IrJF%,Im$##Yr!K!V23BJD@HB3'NRm)"rri%!!#!#!!! +3"!!!#!J!!!33!!!#)!!!!8!!!!#!!!!"!!!3!i!!"!I!!%32i!"9rr!!8Iri!&$ +rr!"3rri!%rrr!&2rri"(rrr!6rrri&rrrr"rrrriIrrrr2rrrrjrrrrrIrrrrKr +rrr`rrrri2rrrm$rrrq"rrrr!IrrrJ(rrr`!!2ri!!"rm!!!2q!!!"r!!!!2J!!! +"`!!!!)!!!!!#!*!)$`#3#3m!N!A`m!#3#3m!!!!2$!m!N!F2!!m!!!$`c-$`!*! +'$`m2"99I$-c-$`#3"Jm2!!8!A-c-c-$`!*!&$`m!!&AG!2rrr!m!N!82$`!!9Gd +2KhGrm2!!N!82!&999IKhGi[r$`#3"!m2!&999BKhGhZ2m2!!!!!2!!99999EGhH +(Ylm2!!!!$`$e9999@hGhKhGr`2!!!!m2"99999GhGhHlLr`2!!!2m&@3"AGhZiZ +,r-$`!!m-9C!&GhHlZl[mc!m!rma9N!9hGhZlL2c-`2!2j9@3"AGhGiL,r-c-c`r +e9C!&9hGhZlrmc-h`!!99N!9AGhGl[mc-h`!!89899C!%GhGhrmc0m!!!89&9&99 +99AGhGrc-h`!!!&&494&4&49hGhrmcI!!!!94848984899hrrc0m!!!!&89%9%9% +9&9rrc-h`!!!!"9@3"ec-c0m!N!RphGhGc-h`!*!*$phGhFcI!*!,rFc-cI!!N!X +2h-cI!*!0rFh`!*!0$pm!N!r`!*!*"!#3%2m!N"2r!*!+r`$r!*!8r`#3"rm!+`$ +r!*!2r`!!!2m!N!Er!#XV+`$r!*!1r`$r!2m!X*!%r`!VN!8!r`#3$Im!r`!!!,! +!!,!VN!J!r`#3$2m!r`#3",#`q[S!!2q3"5X!r`#3#rm!r`#3",#`q[S!rjp)N!6 +rr`$r!*!-r`!!X*!'rjp)N!5IRrrr!2m!N!Rr!2m!!,#3"M1I5*!&-jrrr`$r!*! +)r`!!!,#3#$0)N!3c5$0)-rm!r`#3"rm!!2q`N!Jc5*!%RdL3"2mV!2m!N!Er!2m +!X*!)5*!(Rc-c-rmV!2m!N!Arr`#`N!T)N!5I-c-cRc2r+bX!r`#3"2m!+l#3#NL +3"$1I-j!%rbXV+`$r!!$rrbXVX*!+5*!&-c-cRjrr+j!%!2m!!2rmX*!,5*!'Rjq +I-rmVN!Er!2rrX*!-5*!&-c-crrmVN!6kr`#3",#3$%L3"TmcrbZ3"2Vr!*!%X!@ +`X!@`N!P)N!ErrbXV+rVr!*!&X!@`"E#`"E#3"dL3"[mV+b[kr`#3"V!&X!@`X!8 +&X!8&X!@`5*!&rrmV+rVr!*!'X,!&X!8&X!@`X!8&X!@`X%K)rrrr+b[kr`#3"l# +`"E!&"E!&"E!&"E!&X,$rrrmV+b[kr`#3#,#3%#Z3"IVr!*!5rrU3"bXV+rVr!*! +8rrU3"LXVq[m!N"ErqLZ3"IVr!*!BrrSV+b[kr`#3'[rk+rVr!*!FrrVr!*!Hr`# +3%N!)J#P!!L!%d#qS0M3ZXQia2b)Ia#U)2j!!!L!"3!#!!!!)J#R!!q!(m#ri2r` +rrRrr2riIr$ri2r!$i!(!!)!!N!@!!!$`!2!!N!6`m!m2!*!'m-$`!*!%$`cr$`! +!!2"9AhI`m!!!r`@(HUm2!!$`99H)Vm$`$ra99hUXc-m!p999Grc0m!!&999rc0m +!!&&489h0m!!!9999AGm!N!AphI!!N!82h`#3"r!!N!d"!*!&r`!!!2m!N!Rr!2m +!!2m!r`#3$2m!+`$r!*!+r`!Vrrm!r`#3"[m!X,#`rdK)r`$r!*!&rrm!X10)5)Q +*r`$r!*!%r`#`X,")iq1*rbX!r`!!rrmVX,#`5%L*L5Z3"2m!!2q`N!9)52mV+rR +r!*!%X*!&52mV+rRr!*!%X!@`"E!&X2NVqIm!N!@`N!IjqIm!N!VrqIRjr`#3$2r +jr`#3$[m!N"S(39"36!!"!!!!!3!Irri!%!!$!"%!JS!4!3*!%c1#)"9C)K!9B32 +i%c%UL"!!!!J3ErX)%!!!#"!2Z!J3!!!)%!rIU"!!!!J3!H[S%!!!#"!"p`J3i!! +)%1([b""!!!J4mEk)%I!!#"(`2fJ6q!!)%rJrL"2i!!J@V$I)&U`!#"Im!!J3!!! +)(rrrq"rrrJ!Irrm!(rrrJ"rrrm!IrrrJ(rrrm"rrrrJIrrri(rrrq"rrrrJIrrr +i(rrrq"rrrrJIrrri(rrrq"rrrrJIrrri(rrrq"rrrrJIrrri(rrrq"rrrrJIrrr +i(rrrq"rrrrJIrrri(rrrq"rrrrJIrrri(rrrq"rrrrJIrrri!!!#!!!2rj!*m!# +3"3m!N!Rr!*!&$`!&!*!%8!!!mI!!N!32!!8!!!!&!!!!m4m!N!32!&8!93"98!! +!m4(`!!!!$`@3"&!&!$!!m4%I!!!!$`8&"9!!"3!!!2rrrr!!!!m!93"9!!8!-&" +38!$`!!!2!*!-m!!!$`!!"9"9N!4393!!m!!!$`#3$2!!!!m!N!4999"98!!!!2! +!!!m!N!c`!!!2!*!%9999"9998&$`!!!2!*!-m!!!$`#3"3998&"999$`!!!2!*! +-m!!!$`#3"3999399!!$`!!!2!!"98!#3#2!!!!m!!&93!!998&9993$`!!!2!!! +&!*!*m!!!$`!&998!"9"999"3!2!!!!m!"999!*!)m!!!$`!&998!!!"9998&82! +!!!m!99998!#3"r!!!!m!99998!!!99998!$`!!!2!&9999!!N!I`!!!2"9&4898 +!!&8&998!m!!!$`9489&9!*!(m!!!$`99N!3!N!I`!!!2!*!-m!!!$rq3$2!!!!! +%!*!%rj!8!*!-r`#3%[rr!*!,r`!!!,!!N!L`!*!&r`Ar!*!+r`!!!,!!N!H`!*! +'r`8&r`#3#Im!!,#`!!#`X!!!X,#`!*!&r`8&"Im!N!Mr!,!!X!#`!,#`!!#`!!$ +B!!!!r`@3"2m!N!Ir!,!!X!#`X!#3",!!N!ErN!F!N!Er!!#`X!!!X,!!!!#`!!$ +B!,!!X!#`!!!!r`#3"[m!N"Mr!*!'r`#3"E#`!,#3#3#`X!#3"2m!N!Er!*!Br`# +3"[m!N!L`N!8!X,#`!*!(r`#3"[m!N"Mr!*!'r`#3#,#3"J#`N!B!X!$r!*!'r`# +3'2m!N!Er!*!,X*!%!,!!X*!&!2m!N!Er!*!Br`#3"[m!N!Z`N!8!X,#`!*!%r`# +3"[m!N!5`X,!!N"(r!*!'r`#3",#`X!#3",#3"!#`N!B!!2m!N!Er!*!&X!#3%[m +!N!Er!!!!X*!&!!!!X,!!X*!&!,!!!!$r!*!'r`!!!,#3"3#3%2m!N!Er!!!!X*! +&!*!'X*!'!,#`!2m!N!Er!!#`N!F!N!rr!*!'r`!!X*!(!*!&X*!(!!!!r`#3"[m +!!,#3"`#3$rm!N!Er!,#`"E!&X!@`X!#3",#`!,#3"3!!r`#3"[m!X,!&X!@`"E# +`!*!1r`#3"[m!X*!*!*!1r`#3"[m!N"Mr!*!'rj!D!*!'3(r`3"K99&9H3!*2qN! +#32*'!NCk6`*21Pq#Al*!!Rrqrj!J!!!!J!rrN!8!!!m!N!32m!!2"38&!`mI!!m +&"38$$rr`$`#3"[!2!&@3"&$`$`#3"[!2!!!!998!m!m!"9!!!!$`$`!&8!9982! +2!&99!!!!m!m!998!99$`$`9999!!!2!2"9998&8!m!m!N!E`$rq3"[!!!!%!!2q +3#`#3"Im!N!Rrr`#3"2m!X!#`!,!!f!$r"Im!!!$r!,!!X!#`!0J!rj!%!!$r!*! +-r`!!r`!!X*!*!2m!!2m!N!cr!!$r!*!'X*!%!!$r!!$r!!!!X,!!N!Ir!!$r!!! +!X,!!!,#3"!$r!!$r!!#`N!3!N!Er!!$r!!#`N!3!!,#`X!$r!!$r!,#3"J#3"Im +!!2m!X*!'!,#`!!$r!!$r!*!-r`!!rj!1!*!%"e4&@&3!N!8"!!!"!!!!!S!!!!4 +!!!!)S!!!%p!!!#*)!!""K!!!JB)!!3IK!!)%))!'#$&!#JJ4)"Irra!Z#!%)5J3 +""-S%!3*ra!%$2m)""KrL!3`[r`%B+hm"-#XP!@"VCB(!Db@"J(rrJ`!#-!F!!KJ +0!!)-'3!#"M%!!J0K!!)"`3!#!)%!!!%!!!!$J!!!"m!!!!rJ!!!Im!!!2rJ!!(r +m!!$rrJ!"rrm!!rrrJ!Irrm!2rrrJ(rrrm$rrrrKrrrrmrrrrrRrrrrmrrrrq(rr +rr$rrrrJrrrr`2rrri(rrrm"rrrq!Irrr!!)rr`!#(rd!!Jrj!!)(m3!#!q%!!J( +"!!)!J3!!!!)!N!J2!*!2m2!!N!d2$!m!N!h`c0$`!*!,$`a993m!N![`c&!&`2! +!N!N2$-c&AGd2!*!*m-c-a9hG`2!!N!F2$-c&999Fc!m!N!I`c-c&!!"Fc-$`!*! +&$rhFc&!!!&AFcmm!N!A`rGc-8!!!"Gc2h2!!!!!2"Iq3#Gd2!!!!m&Am`!"9h-c +-c-rG`2!!$`a3r-!!"Gc-c-c2hF`2!2r-82c!!!AGc-c-cph-`2!2j9Aqj3!&AFc +-c-rGc-c2!299rZ8!!&h-c-c2hFc0m!!&9IlP8!"Gh-c-cph-h`!!89Aqj9999Gc +-c-rGcI!!!&&4rY9999AFc-c2hGm!!!"48Il48489hFc-cph`!!!&89(qe9%9&9h +-c-rI!!!!"9&4rY&4&49Gc-c2m!!!!!999IlP9999AGc-h`#3"r!!rGhGhGc0r`# +3"r!!$phGhGcI$`#3"r!!!2h-c-h`$`#3"r!!!!rFc0m!$`#3"r!!!!$pcI!!$`# +3"r!!!!!2h`!!$`#3"r!!N!6`!!!2!*!'"!#3%2m!N"lr!2m!N"cr!#X!r`#3'[m +!+b[k!2m!N"Mr!#Z`N!3!r`#3&[m!+bZ`!!#`+`$r!*!8r`!VN!5`X2VkqJ$r!*! +5r`!VN!@`X2VkqLX!r`#3%2m!+j!%X*!'+bXV!2m!N!lr!#Z3"E!!N!5`+j!%!2m +!N!crrrVk+bXVX!#3"E#`qLXVrb[r!*!+r`$rq[SV+bZ`!*!'X2SV+rrk+rm!N!M +r!,$rN",kqJ$r!*!'r`#`X2mV+`!!!,#`qLZ3#2rkqLX!r`#3"2m!+l!!rbXV!*! +%X2SVN!Mrq[SV+`$r!!$rrbXVX!$r+bX!N!5`q[SVN!Irq[SV+bX!r`!!rrb`X,$ +rUkZ`!!!!X,$k+j!(rrVk+j!&r`!!rl#`X2qVUl!!N!5`qLZ3"rrkqLXV+rVr!*! +%X,#`rkZVX,!!!!#`q[SVN!Erq[SV+rVr!*!%X!@`X2qVUl#3"rSVN!Erq[SVq[m +!N!@`"E!&rkXcX*!(qLZ3"[rkq[Vr!*!'X!@`"IqV-`@`"3@`"E$kqLZ3"Irkq[m +!N!D`X!@`"IqV-l#`"3@`"E#`qLZ3"Irkr`#3"l#`"E!&rkXc"E!&"E!&X,$k+j! +&rrm!N!L`N!ArUkZ`N!MkqLXV+rVr!*!1r`!!!2rkN!JV+rVrr`#3$[m!N!6rqT! +(+rVr!2m!N!lr!*!&rrSVN!Akr`!!r`#3$[m!N!ErqLXV+rVr!!!!r`#3$[m!N!I +rqL[kr`#3"2m!N!lr!*!)rrVr!*!&r`#3$[m!N!Rr!*!'r`#3#d!!J!&!!L!%%!M +S%%3[qQS*13SC$#U)2jJ++!P)#)J)#!#!!F!$i!I`$rJIr$rqIrmrrKrm2rJrq![ +S#FJ)L!J)!!!!J!#3"2!!N!B2$`#3"[$!m!#3"!m-c!m!N!6`c&93m!!!$`c-aF` +2!!$`rj!%m2!2r2"Gc-cpc`$em!AFc2h`!!A`"Gc-r`!!8I&4AFh`!!"9p99Ghr! +!!!$`rGh`m!!!!2!2h`$`!!!!m!$`!2!!!!$`!!!!m!!!!!%!N!Rr!*!1r`$r!*! +-r`!V!2m!N!Vr!#XV+`$r!*!)r`!V+l#`X!$r!*!'r`!VN!5`+bX!r`#3"2m!rj! +*!2m!!2rr+rm!X2NVN!6rq5[r!!$rX2m!!,$j+bXVrrRr!*!%X2m!!,$j+bXVrrm +!N!5`"Im&X!@`q5[jr`#3"E#`rl#3"2Rjrrm!N!Ir!2rjqIRr!2m!N!Ir!!$rqIm +!!2m!N!Ir!!!!r`!!!2m!N!Ir!*!(r`#3"JG"G'e`!!-!N!3X8(Pd1!!!!!&'8N9 +'!!)!!3#"!!!!J!!$!)0*3diM!!)!!3#!!!!!J3!$!))!!!!"!*!%#3#3"J%"!3! +!!3!!!"e"!!!F33!!!FN!ml'N(%J!!!!F!ES!#N*14%`!!!"D5801)`!$!'C659T +&!!!!PNC548B!!J#LD@0c)`!$!-CTBf`d!!)!pQPME$J!!J%DD@0c0!!#!6jTBh- +i!!)"BP"jG$J!!!''8'p`G!!!!C)!J2rr!!!Er`#3"!%Xrrm!N!Q!rrm!!!&@!*! +&JIrr!!!+13#3"B,rr`!!%a`!N!6rN!3!!!%%!*!&JIrr!!!+,J#3"B$rr`!!%a% +!N!@$rrm!!"[d!*!%!5crr`!!!4)!N!@!rrm!!!KL!*!&JIrr!!!443#3"B,rr`! +!'LJ!N!@!rrm!!!*D!*!&JIrr!!!,23#3"B,rr`!!&#!!N!@!rrm!!!4H!*!&JIr +r!!!033#3"B,rr`!!&L3!N!@!rrm!!!LQ!*!&JIrr!!!4L3#3"B,rr`!!'Q`!N!@ +!rrm!!!NU!*!&JIrr!!!5$3#3"B,rr`!!'[!!N!SF,`#3"B(rr`!!($3!N!316hG +ZCA)JFQ9cEh9bBfAj%`: diff --git a/Mac/Demo/cgi/realcgitest.py b/Mac/Demo/cgi/realcgitest.py new file mode 100644 index 0000000..ca846bf --- /dev/null +++ b/Mac/Demo/cgi/realcgitest.py @@ -0,0 +1,45 @@ +"""cgitest - A minimal CGI applet. Echos parameters back to the client. +""" + +from MiniAEFrame import AEServer, MiniApplication + +class CGITest(AEServer, MiniApplication): + + def __init__(self): + MiniApplication.__init__(self) + AEServer.__init__(self) + self.installaehandler('aevt', 'oapp', self.open_app) + self.installaehandler('aevt', 'quit', self.quit) + self.installaehandler('WWW\275', 'sdoc', self.cgihandler) + self.mainloop() + + def quit(self, **args): + self.quitting = 1 + + def open_app(self, **args): + pass + + def cgihandler(self, pathargs, **args): + rv = """HTTP/1.0 200 OK +Server: NetPresenz; python-cgi-script +MIME-Version: 1.0 +Content-type: text/html + +<title>Python CGI-script results</title> +<h1>Python CGI-script results</h1> +<hr> +""" + rv = rv+'<br><b>Direct object:</b> %s\n'%pathargs + + for key in args.keys(): + if key[0] != '_': + rv = rv + '<br><b>%s:</b> %s\n'%(key, args[key]) + rv = rv +'<hr>\nSee you next time!\n' + + # Note: if you want to quit after each request enable the line + # self.quitting = 1 + + return rv + +if __name__ == '__main__': + CGITest() |