Commit Graph

508 Commits

Author SHA1 Message Date
interp e66223b666 remove superfluous bracket pair introduced by previous commit 2003-07-06 09:00:36 +00:00
interp 477544caaa Merge a LET in upper LET* 2003-07-06 08:58:39 +00:00
interp 39f7addaf9 Factor out SURFLET-RESPONSE object 2003-07-05 18:13:32 +00:00
interp 592baf7c6a minor change in comment layout. 2003-07-04 16:18:19 +00:00
interp d5b14d4ffc Let it be a bit more valid as HTML 4.01 Transitional.
Among other things, add HEAD tag, give charset information, add TITLE
tag and let it start with the "<!DOCTYPE ...>" declaration.
2003-07-04 14:46:31 +00:00
interp 7d188b8269 slight modifications 2003-06-22 16:23:16 +00:00
interp dca13aabde slight adaptation, mainly renaming 2003-06-21 15:27:20 +00:00
tjaden d236b8990f Fixed a bug preventing httpd from serving files with a recognised
content-encoding.
2003-06-14 12:55:47 +00:00
interp 575dd18f03 Check for correct content-type in GET-BINDINGS. Raise an error if it is not correct. 2003-06-03 07:36:48 +00:00
interp d36409fddc remove debug output 2003-05-23 09:14:58 +00:00
interp f3b7c3a396 Signal an error if image button coordinates cannot be translated into
numbers.
2003-05-23 08:05:03 +00:00
interp a81dfb6ab1 remove debug output 2003-05-22 13:56:57 +00:00
interp 08012edab4 mention code source 2003-05-22 13:55:03 +00:00
interp 6c99e3a707 Remove image button bug (thanks to Eric Knauel for reporting this): Image
buttons return the coordinates where the user clicked à la
imgbtn321.x=13&imgbtn321.y=12. Thus, we cannot search for the
input-field-name of the image button. To remove this bug, we introduce
following changes:

surflet-input-fields.scm:

+ make-image-button returns a multi-input-field that searches for its
  coordinates in the bindings, returning a pair (x y) of it (numbers).
+ Adapt select-input-fields to interface changes of multi-input-fields:
  transformers get also their input-fields.

returned-via.scm:
Don't simply check for the input field name in the binding. Use
input-field-value to check for existance of the input field in the
bindings

input-fields.scm:
multi-input-fields get also their input-field as argument

web-server/root/surflets/byte-input.scm:
Adapt to interface change of multi-input-fields: transformers get also
their input-field

web-server/root/surflets/test.scm:
Check the image-button feature  correctly.
2003-05-22 13:32:49 +00:00
interp 69ea6ae13f Use do-html-string-sending in do-html-sending 2003-05-13 14:02:24 +00:00
interp bd6a537197 + ADD-SEL-IF-OPTION!
+ DELETE-SEL-IF-OPTION!
2003-05-10 12:10:32 +00:00
interp 6bea1e6a0c Adapt to change in sunet/doc/latex/decls.tex and mention out of date status. 2003-05-10 11:59:13 +00:00
interp 27fbf65f2b minor change: changing attribute order in textarea input field 2003-05-04 14:07:11 +00:00
interp 219bcaa4fe Add optional args to MAKE-TEXTAREA-INPUT-FIELD: ROWS COLS READONLY 2003-05-04 14:05:40 +00:00
interp 63afb5d073 Map SXML->LOW-LEVEL-SXML to Oleg's PRE-POST-ORDER 2003-05-04 14:04:54 +00:00
sperber 003f803357 This was really obsolete long ago by start-{extended-}web-server. 2003-04-22 13:52:37 +00:00
sperber baa9486488 Make MAKE-ERROR-RESPONSE work for "method not allowed" responses. 2003-04-22 13:49:49 +00:00
interp 60a11e664d removed obsolete block of comments 2003-04-17 09:23:09 +00:00
interp 5a8d56672d Use some of the new input field features 2003-04-16 17:11:47 +00:00
interp ee5e3cd6ec In make-resume-url: use argument session-id
(not instance-session-id) to create resume-url.
2003-04-16 16:04:11 +00:00
interp 20821bdfb5 Adapt to recent change of session-interface in surflet-handler 2003-04-16 16:03:06 +00:00
interp 5b2e2ddd6a Ship out only session-id/continuation-id
and not the session/continuation itself
2003-04-16 16:02:37 +00:00
interp 91c0997dd7 Add some distance between radio button and radio text 2003-04-16 16:01:38 +00:00
interp 61c5cf4246 Add CALLBACK-FUNCTOR that allows the call back arbitrary functions
(in conjunction with make-annotated-callback)
2003-04-16 16:01:01 +00:00
interp a9f5c6ffa7 test.scm now shows examples for all surflets-input-fields. 2003-04-16 12:32:24 +00:00
interp aa6e6aabfc ! Redesign of input-fields.
+ Split input-fields into two structures:
  + surflets/my-input-fields allows you to create your own input-fields.
    (complete with structure surflets/input-field-value)
  + surflets/surflet-input-fields are the proposals for input-fields
    from SUrflets. They support annotated input-fields where
    appropriate (select, radio, checkbox, hidden) and changing of attributes,
    e.g. default values. See test.scm for examples.
  The interface of the structure SURFLETS has only changed slightly
  concerning the input fields
  (make-higher-input-field --> make-multi-input-field should be the
  main change)
+ Adapt examples to new input-field interface
+ Note new structures in documentation.
2003-04-16 12:30:57 +00:00
interp 6d64530779 SXML-ATTRIBUTE-ATTRIBUTES returns a list instead of #f 2003-04-16 12:20:57 +00:00
interp e3652a93b2 Add identity function 2003-04-16 12:20:12 +00:00
interp eb5f44b932 Add nbps-rule that inserts a &nbsp; 2003-04-16 12:19:44 +00:00
interp 107cb30eb2 factor out generating of 'unique' numbers 2003-04-15 13:55:00 +00:00
interp 2ab93f703b Add SXML-ATTRIBUTE-ATTRIBUTES function that discards the initial '@ 2003-04-15 09:33:32 +00:00
interp f8d7dfbeda remove extraneous right paranthesis 2003-04-14 10:04:23 +00:00
interp ea6e3e6c7d adapt to new surflets/callbacks structure 2003-04-14 09:10:54 +00:00
interp 97c0da8c71 Make url-rul *preorder*.
This removes a bug that escaped the HTML string twice (e.g. '<' or '&').
2003-04-14 08:40:45 +00:00
interp c48f952cc5 + Add annotated callbacks.
Callbacks may now be annotated with arbitrary arguments with which the
function will be called. See surflets/test.scm for a (non-didactic) example.

* The extended callbacks justify an extra structure for callbacks:
surflets/callbacks

- make-callback was moved from surflets/utilities to surflets/callbacks
2003-04-14 08:30:27 +00:00
interp c3e7abbdeb ignore some more files (that I use for debugging) 2003-04-14 08:11:10 +00:00
interp cdbed4fa49 Addresses may now be annotated with arbitrary values (including, but not
limited to strings).
For this purpose, the ADDRESS object uses an internal storage that is freed
as soon the ADDRESS object is freed.
admin-surflets.scm shows an example.
2003-04-13 21:31:41 +00:00
interp e9d126847d replace links to add-html.scm by links to add-raw.scm 2003-04-13 20:27:03 +00:00
interp 5581383962 Add surflet-path to options (needed by admin-surflets.scm) 2003-04-13 20:24:56 +00:00
interp 6f46e17b11 ignore TODO file 2003-04-13 18:28:37 +00:00
interp 4b08eac262 use with-lock instead of obtain-lock/release-lock 2003-04-13 18:27:43 +00:00
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