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

File: [local] / OpenXM / src / kan96xx / Doc / cgi.sm1 (download)

Revision 1.1, Fri Sep 24 08:35:47 2004 UTC (19 years, 8 months ago) by takayama
Branch: MAIN

Modules to work for CGI.
 URL encoding <---> keyValue pair
   ( cgiUrlEncodingKeyValuePair, cgiKeyValuePairToUrlEncoding )
 HTTP <---> keyValue pair
   ( cgiHttpToKeyValuePair, cgiKeyValuePairToHttpString )

% $OpenXM: OpenXM/src/kan96xx/Doc/cgi.sm1,v 1.1 2004/09/24 08:35:47 takayama Exp $

% (OpenXM) queryGoogle  --> it does not work well.
/queryGoogle {
   /key set
   [[(URL),(/search)],
    [(hl),(ja)],
    [(ie),(UTF-8)],
    [(q),key]] /kv set
   [(cgiKeyValuePairToUrlEncodingString) kv] extension /sss set
   [(GET ) , sss , ( HTTP/0.9) , nl , nl ] cat /sss2 set
   
   [(sm1.socket) (connect) [80 (www.google.co.jp)]] extension 0 get /goo set
   [(sm1.socket) (write) [goo sss2]]  extension 
   [(sm1.socket) (select) [goo -1]] extension
   [(sm1.socket) (read) [goo]] extension /pp set  % use httpRead instead?
   pp message
   [(sm1.socket) (close) [goo]] extension
   [(cgiHttpToKeyValuePair) pp] extension /pp2 set
} def

% (www.math.kobe-u.ac.jp) getIndex
/getIndex {
   /url set
   [[(URL),(/index.html)],
   ] /kv set
   [(cgiKeyValuePairToUrlEncodingString) kv] extension /sss set
   [(GET ) , sss , ( HTTP/0.9) , nl , nl ] cat /sss2 set
   
   sss2 message
   [(sm1.socket) (connect) [80 url]] extension 0 get /goo set
   [(sm1.socket) (write) [goo sss2]]  extension 
   [(sm1.socket) (select) [goo -1]] extension
   [(sm1.socket) (read) [goo]] extension /pp set
   pp message
   [(sm1.socket) (close) [goo]] extension
   [(cgiHttpToKeyValuePair) pp] extension /pp2 set
} def