Commit Graph

462 Commits

Author SHA1 Message Date
interp 956fd7bbf1 Add non-thunk version to with-lock.
Note: To follow naming conventions of scsh, the old with-lock is
renamed to with-lock*. The syntactic sugar version is with-lock now.
2003-04-13 17:36:39 +00:00
interp d0782f63a2 Factor out with-locks from surflet-handler 2003-04-13 17:23:11 +00:00
mainzelm 213090a51d + use search-trees for timeout-queue
+ export session-adjust-timeout! for admin-surflet.scm
2003-04-01 13:17:45 +00:00
mainzelm 61c3a4c216 Introduced field lifetime to session 2003-03-31 10:56:28 +00:00
mainzelm 33f1a2f063 Two small fixes related to options. 2003-03-17 19:29:45 +00:00
mainzelm b74ca11656 + Make text displayed on session timeout an option to the handler.
+ Fixed various options related bugs.
2003-03-17 12:31:49 +00:00
mainzelm b93e275415 Replaced implementation of surveillance thread: We have now only one
thread which checks every second for sessions to be deleted.
2003-03-17 12:09:26 +00:00
mainzelm 3de0a9c480 Added options for surflet-handler. 2003-03-17 10:17:55 +00:00
mainzelm 573e980f33 Added a rule to generate comments for *COMMENT* tags. 2003-03-14 12:58:12 +00:00
interp 3511a9bffc Add forgotten structure for surflets/my-sessions 2003-03-13 18:32:43 +00:00
interp dcce51cc3f Let URL-RULE use SURFLET-SXML->LOW-LEVEL-SXML instead of writing own string list 2003-03-13 12:07:29 +00:00
interp 39066ac109 Mention session-data in basic user's structures 2003-03-13 11:53:09 +00:00
interp fe70289bc6 Factor out SESSION-DATA and make it available in SURFLETS 2003-03-13 11:52:37 +00:00
interp 88e255d5de + Restructuring: Now, we have a three (four) layer concept:
Basic User, Advanced User, Administrative User
+ see file SURFLETS-STRUCTURES.TXT for details
+ Adapt example surflets to new structures. Only surflets that use extended
  features should need adaptations.
2003-03-13 11:36:49 +00:00
interp df8ea46a27 Add SEND-HTML-STRING, ../SUSPEND, ../FINISH 2003-03-13 11:33:33 +00:00
interp b1e0c7df54 Add GET-SESSION 2003-03-13 11:32:59 +00:00
interp 1caff62db0 minor change in comment 2003-03-13 11:32:38 +00:00
interp e151572459 Add sxml->string/internal 2003-03-13 11:32:16 +00:00
interp d1c7b4e9d3 remove forgotten generate-unique-name 2003-03-10 17:11:41 +00:00
interp ec341accf9 Add SESSION-ALIVE? 2003-03-10 16:37:22 +00:00
interp 3fc36e865e + Splitting file surflets.scm into several packages
- Removing surflets.scm
+ The surflets package remains and collects the most usual used packages
  It does not export any more the outdaters, the access to IDs
    (like session-id), callbacks, form-query-list.
      (and maybe some other stuff I've forgot to mention here, see list
below).

The new packages are (not included in surflets are marked (*)):
+ surflets/addresses: MAKE-ADDRESS, MAKE-ANNOTATED-ADDRESS
+ surflets/bindings: GET-BINDINGS, EXTRACT-BINDINGS and stuff
+ surflets/ids (*): MY-SESSION-ID, .., INSTANCE-SESSION-ID
+ surflets/input-fields: MAKE-INPUT-FIELD, MAKE-NUMBER-INPUT-FIELD...
+ surflets/outdaters(*): MAKE-OUTDATER, OUTDATER?...
+ surflets/returned-via: RETURNED-VIA, CASE-RETURNED-VIA
+ surflets/send-html: SEND-HTML/SUSPEND...
+ surflets/surflet-sxml: URL-RULE,..., SURLFET-SXML-RULES, ...
+ surflets/sxml: SXML->STRING, DEFAULT-RULE,...
+ surflets/typed-optionals(*): TYPED-OPTIONALS, OPTIONALS
+ surflets/utilities(*): MAKE-CALLBACK, FORM-QUERY-LIST,
                         GENERATE-UNIQUE-NAME...
2003-03-10 16:29:32 +00:00
interp 87a4165f94 check existence of sessions in some locking areas 2003-03-10 13:10:29 +00:00
interp 64371c9941 Use the time-to-live argument in really-session-adjust-timeout! 2003-03-10 13:01:45 +00:00
interp 909ed39ce2 Add optional arguments to ADJUST-TIMEOUT! and SESSION-ADJUST-TIMEOUT!
This argument defaults to OPTIONS-SESSION-LIFETIME and represents
the life-time in seconds for the session.
2003-03-10 12:57:44 +00:00
mainzelm 5c03d2e24e URL -> url 2003-03-10 09:23:41 +00:00
interp 3b51f7b82b + export conversion rules from surflets:
default-rules (default, text, attribute, plain-html and url)
  surflet-form-rules (input-field and surflet-form)
+ according to mainzelm: lowercase URL tag to url in surflet-xml
2003-03-09 20:15:08 +00:00
interp 31f0044e2c rename FORM-QUERY of surflets to FORM-QUERY-LIST
to avoid name puzzlement with the simple-surflet-api that already
exports this name (and we cannot change this, as this is adapted to PLT)
2003-03-09 19:57:56 +00:00
interp 4af92bc379 factor out creating of input page 2003-03-09 19:57:09 +00:00
interp b12070e349 Add MY-SESSION-ID, MY-CONTINUATION-ID and MY-IDS to surflets, that return the respective IDs out from an request object. There are restrictions on their use. 2003-03-09 19:44:09 +00:00
interp e64b57f540 Correct some error from last commit:
* COMPOUND-INTERFACE needs its arguments to be defined already
* add bang to some other ADJUST-TIMEOUTs
2003-03-09 19:18:35 +00:00
interp 4748a882c3 Add a bang to SET-OPTIONS-SESSION-LIFETIME, SET-OPTIONS-CACHE-SURFLETS? and ADJUST-TIMEOUT 2003-03-09 18:49:09 +00:00
interp 536fe1394c no changes (internal restructuring using COMPOUND-INTERFACE) 2003-03-09 18:37:38 +00:00
interp 3f1542466c Rename misleading {SET,GET}-SURFLET-DATA to {SET,GET}-SESSION-DATA, as the data is specific to a session and not to a surflet. 2003-03-09 18:03:15 +00:00
interp cacf6aeaa8 downcase! even more identifiers 2003-03-07 18:45:12 +00:00
interp 78a1d2e633 + (foreach downcase! identifiers)
+ fold FORMATED-REPLY into SURFLET-XML->HTML
+ rename REAL-FORMATED-REPLY to FORMATED-REPLY
+ use global value INPUT-FIELD-TRIGGER instead of symbol 'input-field
+ The SURFLET-FORM tag creates a REFORMATted list instead of HTML
Note: There were no changes to the interface.
2003-03-07 18:34:04 +00:00
mainzelm 2e5f385410 Fixed two bugs in case-returned-via. 2003-03-07 13:08:36 +00:00
mainzelm e12ba6a042 => for case-returned-via 2003-03-03 20:38:17 +00:00
interp f4baad5ab1 changed let&if to cond&=> in GET-SURFLET-RT-STRUCTURE 2003-03-03 10:29:18 +00:00
interp bd613946d0 + CASE-RETURNED-VIA from mainzelm added
+ RETURNED-VIA alias for RETURNED-VIA? added
2003-03-03 10:27:49 +00:00
interp 98f0da38c6 Add MAKE-ANNOTATED-ADDRESS that creates string-annotated return-addresses 2003-02-28 08:22:29 +00:00
mainzelm 7f81f8bed9 + Use a port buffer of 4096 bytes for the socket's output port.
+ Comment why we cannot do the same for input.
2003-02-26 18:03:40 +00:00
mainzelm e3d252c370 Use a port buffer of 4096 bytes when reading the CGI script's output
and copy 4094 bytes at once from this buffer to output port.
2003-02-26 18:02:14 +00:00
mainzelm 4923286d96 Let FORM-QUERY return '() if the query string is #f. 2003-02-26 15:55:22 +00:00
interp d5dcbace37 Log a single dash (`-') if referer or user-agent header is missing/unknown 2003-02-25 17:36:36 +00:00
interp 862dd31c88 Correct self links & restructure a bit. 2003-02-21 09:50:49 +00:00
interp 9a6b262637 Correct self links. 2003-02-21 09:49:35 +00:00
mainzelm ef3a8af150 Added httpd-options-post-bind-thunk. 2003-02-20 17:52:27 +00:00
mainzelm bc6324e252 Generate a pair of status and text if the CGI script failed to provide
the "Status" header.
2003-02-20 08:57:59 +00:00
interp e6e4ea0f1a use INPUT-FIELD-VALUE for check-box 2003-02-19 18:48:24 +00:00
interp ca7e42cfa0 use scheme-with-scsh where appropriate. 2003-02-19 18:47:04 +00:00
interp 945b4a2ade failsafe if "which" is not executable. 2003-02-19 18:45:57 +00:00
interp 2d7a37f060 unify dispatcher: RETURNED-VIA? accepts now input-fields as well as return-addresses. 2003-02-19 18:42:45 +00:00
interp bd26da7497 remove debug output 2003-02-19 18:34:48 +00:00
interp bf070b1036 use 'convert' to create PNG profiling chart. 2003-02-19 18:26:10 +00:00
mainzelm 2ff86dd73b Adaption to parameter change in socket-address->fqdn. 2003-02-19 17:40:48 +00:00
interp da98c4b78c factor out GET-HEADER 2003-02-19 17:05:16 +00:00
interp 71650fbb41 catch every condition only for load-config et al.; otherwise catch only errors. 2003-02-19 09:43:29 +00:00
interp a767f7b84b Correct self-links. 2003-02-17 10:10:26 +00:00
interp 21f62d5d8e + REQUEST object extended for SUrflets by INPUT-PORT
+ SURFLET-REQUESTs used in SUrflets
+ Use MAKE-INPUT-RESPONSE to generate SUrflet responses
2003-02-17 10:09:24 +00:00
interp bf937b2e74 WITH-LOGFILE was renamed to WITH-LOG-FILE 2003-02-17 09:52:21 +00:00
interp ade0a8391f + remove standard options from file handlers
+ remove superfluous comment
2003-02-17 09:08:27 +00:00
sperber 0e7152b68b Finally fix MAKE-HOST-NAME-HANDLER to the point where it works and has
been tested.
2003-02-10 12:02:11 +00:00
sperber 44322977fc Add HTTPD-INPUT-RESPONSE response values. 2003-02-06 15:05:15 +00:00
sperber fe25e5a307 In web server, rename LOGFILE -> LOG-FILE. 2003-01-30 16:09:20 +00:00
sperber 6e5f9ed278 - Make the handlers in HTTPD-FILE-DIRECTORY-HANDLERS do something
sensible without a set of icons.
- Make the options arguments to the handlers in
  HTTPD-FILE-DIRECTORY-HANDLERS optional.
2003-01-29 10:08:25 +00:00
sperber f373a87413 Rename ...-ICON-FILE-NAME -> ...-ICON-URL. 2003-01-29 09:16:56 +00:00
interp 8895e3b32a Adapt to recent interface changes of HTTPD and its file handlers.
Particularly, the SUrflet server can now serve the source of SUrflets
via '/source/add-raw.scm'
2003-01-28 21:58:33 +00:00
interp 6804ad4712 * Redirect output from interactive Scheme Program to OPORT (to browser).
* Add definition for GET-HEADER (does every package need its own definition?)
2003-01-28 21:29:23 +00:00
interp 416d914a3f Add missing argument to call to nroff-n-decode in man 2003-01-28 21:15:50 +00:00
interp 8e07bc1b07 Remove export of disappeared OPTIONS-SURFLET-PREFIX 2003-01-28 20:44:48 +00:00
mainzelm 615886e492 Provide default values if the CGI script fails to provide status or
content-type.
2003-01-28 15:20:36 +00:00
sperber 022ea25ba6 Rework once again how content types, content encodings, icons etc. are
handled in the file/directory request handlers:

- HTTPD-FILE-DIRECTORY-HANDLERS now has its own options argument
- the ICON-NAME HTTPD option is gone (effectively moved to the above)
- determination of content type/encoding is now configurable
2003-01-28 15:16:20 +00:00
interp e32b78badb Add comments about thread safety. 2003-01-25 16:33:50 +00:00
interp f2872877ad Minor change in comments. 2003-01-25 16:30:09 +00:00
interp e3f216aee7 {S,s}urflet-->SUrflet in strings 2003-01-25 16:28:16 +00:00
interp afada4efb2 Look for RESUME-URL-IDS only in the file-name, not in the path. 2003-01-25 16:22:37 +00:00
interp e934340fb5 uncurry LOAD-SURFLET in GET-SURFLET-RT-STRUCTURE 2003-01-25 16:17:33 +00:00
interp 26fa1ca033 correct bogus call to MAKE-DEFAULT-options 2003-01-25 16:13:42 +00:00
interp 9aea76ee83 remove RETURN-CONTINUATION from INSTANCE; it's not used anyway 2003-01-25 16:11:30 +00:00
interp 100ffcc010 remove SURFLET-PREFIX; it's not used anyway 2003-01-25 16:10:19 +00:00
interp 3d3655960b + Outhouse some components of surflet-handler.
+ Textual restructuring of surflet-handler.
+ Comments added.
2003-01-25 16:09:03 +00:00
interp 7747dd4ac6 Use SEND-ERROR instead of MAKE-ERROR-RESPONSE. 2003-01-25 13:42:50 +00:00
interp fe10f7b609 Use SEND-ERROR instead of MAKE-ERROR-RESPONSE 2003-01-25 13:40:34 +00:00
interp 220ac99930 Add SURFLET-RESPONSE->STRING for debug purpose. 2003-01-25 13:30:45 +00:00
interp e99acd10ee Use SEND-ERROR instead of MAKE-ERROR-RESPONSE 2003-01-25 13:24:22 +00:00
interp ac28d0c6a2 Remove a bug: wrong parameter to SHOW-SESSIONS after e.g. killing a
session
2003-01-25 13:21:36 +00:00
interp 0bee80fadf Remove bug from POST forms: Let GET-HEADER return only the header
value.
2003-01-25 12:19:54 +00:00
interp 1f10457d52 Adapt to recent changes in surflet-handler 2003-01-24 16:05:39 +00:00
interp 3f3bf045de Add SEND-ERROR, that sends an error. 2003-01-24 16:02:29 +00:00
interp 7055289412 Add comment to MAKE-REDIRECT-RESPONSE. 2003-01-24 15:34:37 +00:00
interp 1dcee71722 Use ASSQ instead of ASSOC in GET-HEADER 2003-01-24 15:29:30 +00:00
interp 90df993fe2 remove double entries; minor name change 2003-01-24 15:28:25 +00:00
interp 6358463b5a + Change interface of SEND/SUSPEND, SEND/FINISH, SEND:
They expect SURFLET-RESPONSE objects now (not HTTP-RESPONSE).
+  SEND-HTML/SUSPEND, SEND-HTML/FINISH, SEND-HTML respect this.
2003-01-24 15:23:51 +00:00
sperber 5f4c1b510b Rename TIME->HTTP-DATE-STRING to RFC822-TIME->STRING.
(Missed by sperber, noticed by bernauer.)
2003-01-24 09:48:37 +00:00
interp 27f6c5a832 + complete renaming SERVLET->SURFLET
+ adjust to recent changes in RFC822 (surflets.scm, packages.scm)
2003-01-22 12:53:46 +00:00
sperber 4898196703 Long obsolete. 2003-01-22 10:51:50 +00:00
interp 1fa3096a34 Rename some files, SF forgot to rename (*SERVLET* --> *SURFLET*) 2003-01-21 19:20:01 +00:00
sperber c58f265b5b Rename HTTPD-ERROR -> HTTPD-ERRORS. 2003-01-21 16:16:56 +00:00
sperber 30062d25df Add RFC822-TIME->STRING to RFC 822 and use that instead of the old and
broken code that was part of the Web server.
2003-01-21 12:45:54 +00:00
interp 3c73d6a37f Force SEND/... calls in SEND/FINISH and SEND, too.
Rename STRING-OUT-PORT to BUFFER.
2003-01-21 10:36:49 +00:00
sperber 8b2217907e Overhaul RFC822:
- reduce RFC822 to four procedures, 2 for reading header bodies into
  lists of lines, 2 for reading them into concatenated strings
- remove lots of Olinism and bugs from rfc822.scm
- massage dependent code accordingly, clarifying semantics
2003-01-20 16:26:26 +00:00
sperber ef7a21b729 - make MAKE-PATH-PREFIX-HANDLER work right for null paths.
- add our own version of GET-HEADER in preparation for the RFC822 overhaul
2003-01-20 16:24:29 +00:00
interp 751ee1d6ca Add javascript code 2003-01-19 17:27:15 +00:00
interp 400e4b916f Correct javascript code. 2003-01-19 17:26:56 +00:00
interp e8d592520f + Remove nonsense string
+ Add forgotten arg to FORMAT.
2003-01-19 17:01:44 +00:00
interp 61fc543af2 Rename SERVLET --> SURFLET 2003-01-19 16:57:27 +00:00
interp 071b59a99f Hopefully last restructuring. 2003-01-19 11:03:14 +00:00
interp bee74b3867 More restructuring. 2003-01-19 10:31:16 +00:00
interp 7c33c9ba08 minor restructuring 2003-01-19 09:47:15 +00:00
interp dfe5c56163 Add comment about serving the servlets' source.
(We and the browsers cannot handle .SCM files.)
2003-01-18 17:56:18 +00:00
interp 0bd2a7b254 Remove debug output. 2003-01-18 17:22:57 +00:00
interp c2bb9ae9e8 Remove bug from previous commit: write out to outport. 2003-01-18 17:18:19 +00:00
interp b7133f4393 Add finalizer to remove temporary session files. 2003-01-18 15:02:22 +00:00
interp 104802b3ae Reindent. 2003-01-17 17:48:20 +00:00
interp 4183ec85ce Add bang after set-... commands. 2003-01-17 17:47:31 +00:00
interp 05b7af0986 READ-LINE does the job as well as READ-CRLF-IO, so kick CRLF-IO. 2003-01-17 17:40:30 +00:00
interp 92d760a1cd Tell browser not to cache supples by an HTTTP header. 2003-01-17 17:39:07 +00:00
interp c02cb068af right-justify ids 2003-01-16 12:58:01 +00:00
interp 422a1db09f Add note about danger of killing / deleting current continuation.
Add current session's id and current session's continuation's id in
this message.
2003-01-16 12:53:10 +00:00
interp d54645f39b Update list of return links. 2003-01-16 12:50:14 +00:00
interp c9c7eb0a90 Make add examples look the same. 2003-01-16 12:09:49 +00:00
interp 0656602636 Improve handling of gnuplot executable.
(`which` at startup, check for executable)
2003-01-16 11:10:38 +00:00
interp 02f9f60e99 + Add code to remove forgotten temporary file.
+ Add note about time of profiling.
+ Don't show profiling pictures anymore. The server can't show them anyway.
Instead provide a link to the pbm file.
2003-01-15 14:42:32 +00:00
mainzelm 46f357d47d nph-responses don't carry a status code so simply guess it to be
(status ok) when generating the log file.
2003-01-15 14:07:57 +00:00
mainzelm 7e274597a4 Fix handling of "npg-" scripts by using make-nph-response. 2003-01-15 14:03:30 +00:00
mainzelm 7170593056 Use number->status-code to generate status-code from the code returned
in the CGI header.
2003-01-15 14:02:02 +00:00
mainzelm 06121b3972 Added number->status-code. 2003-01-15 13:37:05 +00:00
sperber 608bb395f2 Rename "userhost" to "server" according to RFC 2396. 2003-01-15 10:59:46 +00:00
sperber 8ed2a48176 Rename URI-PATH-LIST->PATH to URI-PATH->URI and SPLIT-URI-PATH to
SPLIT-URI.

Also fix paren typo from earlier commit.
2003-01-14 15:02:07 +00:00
sperber 62c597e7ec Rename URI-PATH-LIST->PATH to URI-PATH->URI and SPLIT-URI-PATH to
SPLIT-URI.
2003-01-14 15:01:21 +00:00
sperber a5bdc8743e Remove comments that have been integrated into the documentation. 2003-01-14 13:53:24 +00:00
sperber 9dac2674b4 Introduce new response type :HTTP-NPH-RESPONSE for nph-... CGI
scripts.
2003-01-14 13:23:29 +00:00
interp da98e19193 Force the result of the servlet to be printed into a string-port.
The servlet programmer is (nearly) unaware of this.

This removes the problem that arises if send/suspend is called in HTTPD
while transmitting data to the browser.
2003-01-14 11:27:42 +00:00
sperber 9a9d91fe92 Don't look at (getenv "PATH") when determining the PATH set for the
CGI script.
2003-01-10 13:31:06 +00:00
sperber 722135a77e Remove obsolete comment. 2003-01-10 13:30:36 +00:00
sperber 5880441b02 Add implementation of NAME->STATUS-CODE.
Tag export of STATUS-CODE as :SYNTAX.
2003-01-10 09:57:41 +00:00
sperber 86b0639a7f Rename MAKE-HTTP-ERROR-RESPONSE -> MAKE-ERROR-RESPONSE to be
consistent with MAKE-RESPONSE.
2003-01-10 09:52:35 +00:00
sperber 26de50f074 Don't set REMOTE_HOST---we set REMOTE_ADDR, and that's enough
according to the CGI spec.  (REMOTE_HOST required that we do a DNS
lookup.)
2003-01-09 16:02:40 +00:00
sperber 0754b74963 Replace integer HTTP status codes by finite record type instances. 2003-01-09 15:05:30 +00:00
sperber 978f28680e Parameterize RMAN-HANDLER over locations of the various binaries. 2003-01-07 14:38:02 +00:00
sperber 7f5219220b Remove stray DECLINE which would shut down the server in the face of
internal server errors.
2003-01-07 13:40:34 +00:00
sperber 186e9de56c Streamline structure declarations
- remove some more uses of Olin records
- remove uses of BIG-SCHEME/BIG-UTIL
- subset all uses of SRFI 1, 13, 14
2003-01-07 12:16:33 +00:00
mainzelm 9146cb5780 Use with-lock to obtain/release-locks. 2002-12-29 19:10:10 +00:00
mainzelm 7fc87572bb Last commit accidentally commented out REMOTE_HOST. 2002-12-29 17:52:26 +00:00
mainzelm e3ef1280c4 Correct leftover from the fork-based implementation: adjust port-buffering of socket's input port. 2002-12-29 17:49:06 +00:00
mainzelm bfab4cc710 Correct leftover from the fork-based implementation: stdin of the CGI
script must be the socket's input port.
2002-12-29 17:47:41 +00:00
mainzelm 8b6d244f0e Protect dns-lookup-ip with a fatal error handler. 2002-12-19 14:30:39 +00:00
mainzelm 5a20cc1e0a Moved handle-fatal-error.scm from httpd/ to lib/ 2002-12-19 14:27:31 +00:00
interp 4bee3e42f5 Update links to new 'add' scheme servlets. 2002-12-08 18:46:45 +00:00
interp f4cca95296 Version of add form:
Uses SIMPLE-SERVLET-API.
2002-12-08 18:45:58 +00:00