home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-12-11 | 3.7 KB | 85 lines | [TEXT/ToyS] |
- -- set these properties outside of the event. That way they will only be set
- -- once each time the app is run, not once for each event.
- property crlf : (ASCII character 13) & (ASCII character 10)
- -- This is a standard header for HTML files.
- property http_10_header : "HTTP/1.0 200 OK" & crlf & "Server: MacHTTP" & crlf & ¬
- "MIME-Version: 1.0" & crlf & "Content-type: text/html" & crlf & crlf
- -- Idletime is how long you want it to remain open to
- -- wait for another event. Idletime is in seconds.
- -- Datestamp will contain the current date. Initialize it here.
- property idletime : 300 -- set to 5 minutes
- property datestamp : 0
-
- -- this bit of code outside the sdoc event is executed at launch-time
- -- it is neccesary because an idle event can happen between
- -- launch and the receipt of an sdoc event (and in fact often does)
- set datestamp to current date
-
- -- This is the loop for AppleEvents received by the application.
- -- When you check the syntax, AppleScript will ask you to locate
- -- MacHTTP and will set the correct name at that time.
- on «event WWWΩsdoc» path_args ¬
- given «class kfor»:http_search_args, «class post»:post_args, «class meth»:method, ¬
- «class addr»:client_address, «class user»:username, «class pass»:password, «class frmu»:from_user, ¬
- «class svnm»:server_name, «class svpt»:server_port, «class scnm»:script_name, «class ctyp»:content_type
- -- Variables available for use:
- -- http_search_args - stuff in the URL after a ?
- -- post_args - stuff in the URL after a $
- -- method - GET, POST, etc. Used to tell if post_args are valid
- -- client_address - IP address or domain name of remote client's host
- -- from_user - non-standard. e-mail address of remote user
- -- username - authenticated user name
- -- password - authenticated password
- -- server_name - name or IP address of this server
- -- server_port - TCP/IP port number being used by this server
- -- script_name - URL name of this script
- -- content_type - MIME content type of post_args
-
- -- save the current date and time to check later for quitting
- set datestamp to current date
-
- -- Return each parameter so you can see what the unprocessed
- -- information looks like.
- set return_page to http_10_header ¬
- & "<HTML><HEAD><TITLE>Unprocessed Results</TITLE></HEAD>" ¬
- & "<BODY><H1>Unprocessed Results</H1>" & return ¬
- & "<H4>http_search_args</H4>" & return & http_search_args
- set return_page to return_page & return ¬
- & "<H4>post_args</H4>" & return & post_args & return ¬
- & "<H4>method</H4>" & return & method & return ¬
- & "<H4>client_address</H4>" & return & client_address & return
- set return_page to return_page & return ¬
- & "<H4>from_user</H4>" & return & from_user & return ¬
- & "<H4>server_name</H4>" & return & server_name & return ¬
- & "<H4>server_port</H4>" & return & server_port & return
- set return_page to return_page & return ¬
- & "<H4>script_name</H4>" & return & script_name & return ¬
- & "<H4>content_type</H4>" & return & content_type & return ¬
- & "<H4>username</H4>" & return & username & return ¬
- & "<H4>password</H4>" & return
- set return_page to return_page ¬
- & "<HR><I>Results generated at: " & (current date) ¬
- & "</I>" & "</BODY></HTML>"
- return return_page
-
- end «event WWWΩsdoc»
-
- -- The idle function is run everytime the system sends an idle message.
- -- If the current date is more than idletime seconds more than the last date
- -- then it is time to quit.
- -- The return value tells the system how long to wait before
- on idle
- if (current date) > (datestamp + idletime) then
- quit
- end if
- return 5
- end idle
-
- -- This code allows you to do any clean-up that might be necessary.
- -- Example: you could write the quit event time to a log to see
- -- how often the applet is running.
- on quit
- -- do any clean-up chores here
- continue quit
- end quit
-