Commit Graph

462 Commits

Author SHA1 Message Date
interp e29d3d750a more comfortable 2002-10-09 15:22:50 +00:00
interp 044c27e292 make forms POSTing 2002-10-09 15:14:54 +00:00
interp db331ad0e3 Wrap error-handler around calls to LAUNCH-NEW-INSTANCE and RESUME-URL
in SERVLET-HANDLER.  This will catch most errors, but will fail on
some, e.g. procedure called with wrong number of arguments. As far as
I see, the problem is the underlying error reporting system of
Scsh/Scheme48. Maybe I'm wrong.
2002-10-09 15:12:33 +00:00
interp 900f552ee1 Wrap error-handler around calls to LAUNCH-NEW-INSTANCE and RESUME-URL.
This will catch most errors, but will fail on some, e.g. procedure
called with wrong number of arguments. As far as I see, the problem is
the underlying error reporting system of Scsh/Scheme48. Maybe I'm
wrong.
2002-10-09 15:11:55 +00:00
interp 9e5d62aa77 In MAKE-NUMBER-INPUT-FIELD set default value field only if default
text is given.
2002-10-05 11:58:52 +00:00
interp 12b2b96582 remove some superfluous comments/code 2002-10-04 15:56:58 +00:00
interp 23dfce1dc7 add further configurable option: cache servlets 2002-10-04 15:51:51 +00:00
interp a920462ba1 Use preserved-thread-fluids for the options. With this, the stay the
same between to calls to the servlet-handler.
2002-10-04 15:51:04 +00:00
interp 9fb5c80f65 let MAKE-CHECKBOX-INPUT-FIELD accept a further argument: checked or
not
2002-10-04 15:29:50 +00:00
interp fbc10a2f63 mention and explain high order HTML tags 2002-10-04 15:11:41 +00:00
interp b625901bd1 parameters to input field creators are optional on their own 2002-10-04 14:33:27 +00:00
interp 7b81dbdd98 SERVLET-FORM accepts a method specifier:
SERVLET-FORM return-address [method] [attributes] [elements]
2002-10-04 14:31:28 +00:00
interp a6b499426a + Interface to MAKE-SELECT-INPUT-FIELD has changed
+ Add word space after `i.e.' and `e.g.'
2002-10-04 14:07:46 +00:00
interp 85b0d91475 MAKE-SELECT-INPUT-FIELD can now create select input fields with multiple
selections. INPUT-FIELD-VALUE will always return a (possible empty) list in
the multiple case.
2002-10-04 13:56:46 +00:00
interp eef78201f0 ignore latex help files 2002-10-03 13:35:16 +00:00
interp 67d1587e72 first shot to a docu of servlets 2002-10-03 13:33:41 +00:00
interp 08eee1915b If URL in SHOW-OUTDATED is #f, no reload address is shown. 2002-10-03 13:28:31 +00:00
interp 29abe30461 let MAKE-NUMBER-INPUT-FIELD accept a default value 2002-10-03 12:28:36 +00:00
interp 47424d504f Hit me! 2002-10-03 12:02:47 +00:00
interp 7c3ca073dd let EXTRACT-BINDINGS return strings, not bindings 2002-10-03 11:58:27 +00:00
interp f981b2505a export SEND in servlets 2002-10-03 11:20:05 +00:00
interp ab9c1ef642 example using servlet-data 2002-10-03 01:25:47 +00:00
interp 04ba0986d3 let forms do POST requests by default (currently unchangeable) 2002-10-03 00:45:41 +00:00
interp 091f5ab590 prepare for POST requests 2002-10-03 00:18:10 +00:00
interp 30aca350b9 feature servlet-data added 2002-10-03 00:15:44 +00:00
interp f9f854ef85 add possibility to serve non-Scheme files 2002-10-02 23:47:07 +00:00
interp 4899ff0453 bug removal; add data table to result output 2002-10-02 23:45:35 +00:00
interp 20ff8816a9 + feature: return-addresses; lets servlets give more than one possible
address for the next step
+ plain-html: leaves given text untouched, like quote in scheme
              don't call it quote, because it is too similar to the
	      HTML's tag <q> (that stands for 'quote')
2002-10-02 20:28:39 +00:00
interp 61896c1238 use MAKE-ADDRESS to generate return addresses 2002-10-02 20:15:54 +00:00
interp 9203e245bf Don't use callbacks -- use several submit buttons or special return addresses. 2002-10-02 19:13:14 +00:00
interp d690a7a24e don't use callbacks, but two submit-buttons 2002-10-02 18:22:19 +00:00
interp 74acc71447 add INPUT-FIELD-BINDING 2002-10-02 18:22:01 +00:00
interp d56d7f9fce add proper error handling on wrong inputs 2002-10-02 15:14:53 +00:00
interp a01015cc44 + internal restructuring
+ nicer interface
2002-10-02 13:39:55 +00:00
interp 1f8d1d4762 don't need sort anymore 2002-10-02 13:38:56 +00:00
interp cc681e0a69 MAKE-SELECT-INPUT-FIELDS --> MAKE-SELECT-INPUT-FIELD 2002-10-02 13:37:41 +00:00
interp 03eeb86a5f factor out transformers 2002-10-02 12:02:56 +00:00
interp c85bcfc502 + serlvet administration tool
Note that the picture generation in admin-profiling.scm
  currently fails because of current restrictions in the
  servlet-handler (that cannot serve data files).
  No error capturing on wrong input in input-fields.
2002-10-01 17:44:58 +00:00
interp d3827d8e72 some renames, some more exports in SERVLET-HANDLER/ADMIN 2002-10-01 17:42:06 +00:00
interp e68b320eb0 allow default text for text input fields 2002-10-01 17:40:08 +00:00
interp fa350f02bf + thread-based *options*
+ INSTANCE-DELETE! --> DELETE-INSTANCE!
+ access to continuations (GET-CONTINUATIONS, DELETE-CONTINUATION!)
2002-10-01 17:39:39 +00:00
interp bed81261f4 open output data file truncated 2002-10-01 17:37:47 +00:00
interp 02169de482 really rename PLUGIN --> SERVLET 2002-10-01 12:36:50 +00:00
interp 85e75950a3 rename PLUGIN --> SERVLET 2002-10-01 12:33:39 +00:00
interp 349402b7cc use PATH-LIST->FILE-NAME for file name assembling 2002-10-01 12:22:37 +00:00
interp a09d10850e SERVLET-HANDLER now accepts a second argument, the prefix for redirections 2002-10-01 12:12:03 +00:00
interp 62ed566572 adjust to recent code writing: more export in SERVLET-HANDLER/ADMIN, some import to SERVLET-HANDLER 2002-10-01 12:10:58 +00:00
interp 4fdd1cdbbb OUTDATER added; URL tag accepts more text fields now 2002-10-01 12:10:15 +00:00
interp 1ac0705aae + longer instance lifetime
+ GET-INSTANCES returns all instances as an alist
+ let SEND/SUSPEND terminate correctly if instance has died in the meanwhile
  (may happen while administrating servlets)
2002-10-01 12:08:42 +00:00
interp 3e9486573a adapt to recent change in creating form input fields 2002-09-30 15:58:50 +00:00
interp 516d8221d7 adapt to recent change in creating form input fields 2002-09-30 15:25:59 +00:00
interp 2579598783 + servlet-handler/admin structure gives runtime
access to servlet-handler options
+ several constructors for form input fields
2002-09-30 14:43:15 +00:00
interp fc6f2c5a1a small correction 2002-09-30 07:58:20 +00:00
interp 30e66edc61 + longer standard instance lifetime
+ instance lifetime adjusted when new continuation is launched
+ GET-LOADED-PLUGINS and UNLOAD-PLUGIN
+ small bug fixes
2002-09-30 07:53:00 +00:00
interp d6c4304f45 callbacks get the REQUEST, not the BINDINGS 2002-09-29 16:42:53 +00:00
interp aa7bcc6186 + add option instance-lifetime along with some functions
+ add instance surveillance thread that kills instance after
  a period of time
2002-09-29 15:20:36 +00:00
interp bfbeb49125 add CACHE-PLUGINS? option 2002-09-29 13:43:39 +00:00
interp 06c8b5ea5d add GET-BINDINGS: gets bindings out of REQUEST 2002-09-29 13:43:08 +00:00
interp b8a1ec9024 some short hint added 2002-09-27 17:31:35 +00:00
interp aaa5283e0b byte input widget 2002-09-27 17:30:11 +00:00
interp 0b6e68a2c0 added upper-input-field type 2002-09-27 17:29:31 +00:00
interp 37aac43aa9 add calculator example 2002-09-27 15:32:39 +00:00
interp 52566ea00a FORM -> SERVLET-FORM 2002-09-27 15:32:05 +00:00
interp db3c5ef04e + small calculator
+ shows usage of
 ++ callbacks (two submitbuttons)
 ++ creation of own input fields
2002-09-27 15:31:26 +00:00
interp 376a8b1a70 remove superfluous line 2002-09-27 15:25:15 +00:00
interp 99fb8f3e32 + major change in internal representation of forms and its elements
+ SERVLET-FORM now introduces a special form with our input-fields
+ servlet-forms may be nested
2002-09-27 15:24:44 +00:00
interp 9c6db22736 export input-field primitives from servlets 2002-09-27 15:19:42 +00:00
interp 3fcaa99239 register session before loading plugin to be able to create callbacks in plugin 2002-09-27 15:04:36 +00:00
interp e667dedcc2 remove debug output 2002-09-26 12:59:54 +00:00
interp 7dde62cd1a Be more flexible with paths; use $SUNETHOME and $SSAXPATH if set or
reasonable default values if not.
In particular, work around the dependency of config on cwd.
2002-09-26 12:13:01 +00:00
interp 1abbed29f0 renaming UTILTIES.SCM to SERVLETS.SCM and structure PLUGIN-UTILITIES to SERVLETS 2002-09-25 17:01:00 +00:00
interp c28d6cf153 renaming UTILTIES.SCM to SERVLETS.SCM and structure PLUGIN-UTILITIES to SERVLETS 2002-09-25 13:02:31 +00:00
interp 9f2754cff5 first shot on servlet's new form interface 2002-09-24 16:56:00 +00:00
interp 8e4a0c2872 remove incongruousnesses of previous accident commit 2002-09-24 09:12:58 +00:00
interp fba9e1a4d3 a simple adding servlet; doing a lot by hand 2002-09-24 09:03:30 +00:00
interp 0b2a59b6ef utilities for servlet plugins on higher level 2002-09-24 09:01:26 +00:00
interp 9328d1fa82 small brace typo 2002-09-24 08:47:33 +00:00
interp 0d9b85d156 extend plugin-utilities structure (send-html/suspend, etc.) 2002-09-24 08:19:41 +00:00
interp 8f67c75101 add possibility to clear instance table remotely (may go away in the
future)
2002-09-24 08:15:21 +00:00
sperber 91b2f35f0d Don't print a space after ":" in RFC 822 headers. 2002-09-22 15:43:29 +00:00
sperber c0281e834a Rename "path handler" -> "request handler". 2002-09-22 15:41:41 +00:00
interp 74e26ddeb5 add conditions to servlet-handler's open clause 2002-09-21 20:20:29 +00:00
interp 4d9f45c1bd remove FIXMEs:
* respect presence of threads - use locks for table accesses
  (*instance-table*, continuation-table, *plugin-table*)
  * return 404 Not found if servlet does not exist
  * neglect POST request (will do this later)
  * reload plugin if timestamp has changed
2002-09-21 20:18:49 +00:00
interp be308133d2 opens packages and structures for servlet-server in right order
note: needs (r5rs-) SSAX to be present
2002-09-20 19:25:20 +00:00
interp a66cd239c9 * slim example web-server
* create an example web-server using servlets in httpd/servlets
  (the servlet files from the example web-server moved there)
2002-09-20 19:23:17 +00:00
interp abd747a49b * use Oleg's SSAX (SSAX->HTML et al.)
* add continuation counter in servlet-handler, thus the generated continuation
  urls are a bit more human readable.
2002-09-19 11:16:29 +00:00
interp 78e8cb3777 use lock while creating temp-file 2002-09-18 15:33:42 +00:00
interp 911c56e668 change to srfi-27 for random bits 2002-09-18 15:32:41 +00:00
interp ac880e4491 move reset calls forward 2002-09-18 08:57:28 +00:00
interp f6d1babc7b added structures:
* shift-reset
* profiling

changed:
open profiling and shift-reset in servlet-handler
2002-09-14 16:48:59 +00:00
interp 7c5de69604 add triggers for profiling and cache flushing (this may go away in the future) 2002-09-14 16:43:58 +00:00
interp e857b32057 add comment 2002-09-14 16:42:52 +00:00
interp 4ae31efbb2 use shift/reset 2002-09-14 16:42:24 +00:00
interp 04b7adbd89 usage info and comments 2002-09-14 16:36:42 +00:00
interp d38f8225fb small space profiling utilities 2002-09-14 16:35:34 +00:00
interp 793ee8cc2f get shift-reset from scsh and modify it to be thread-local 2002-09-14 16:10:14 +00:00
interp d5b2b448d9 first shot on adding servlets to HTTPD 2002-09-13 07:21:19 +00:00
interp becf14ce30 move global variables in httpd-logging to preserved-thread-fluids 2002-09-05 10:55:30 +00:00
sperber 1cfa3e3595 Shift FQDN determination code from HTTPD-CORE to DNS. 2002-09-05 09:25:42 +00:00
sperber ed04d43b65 NeXTstep is dead. 2002-09-05 08:55:58 +00:00
sperber 490a22d724 More file extension mappings. 2002-09-05 08:51:27 +00:00
interp 5746c2b149 send bug report only on non-os-errors 2002-09-04 14:01:34 +00:00
interp 688d576b96 Send bug report to client, if we encounter an internal error
(e.g. testing new handler)
2002-09-04 10:38:14 +00:00
interp 65e8af2952 send error output to stdout (= to client) 2002-09-04 10:29:12 +00:00
interp 794412df5a use HTTP-STATUS/OK constant instead of integer 200 2002-09-03 13:33:43 +00:00
interp 80257c0822 make more pleasent error messages 2002-09-03 12:45:39 +00:00
interp 1694d372c5 report BAD-GATEWAY error instead INTERNAL-ERROR 2002-09-03 11:55:53 +00:00
interp 443e321cc8 rename URI-LIKE? to URI-HAS-PROTOCOL? 2002-09-03 08:45:59 +00:00
interp a33b7405a5 move CLF log to SEND-HTTP-RESPONSE and log correct status code 2002-09-02 14:49:24 +00:00
interp 0ab5c48cfc make MY-REPORTED-FQDN fit for lots of virtual hosts 2002-09-02 14:34:31 +00:00
interp 27f6bb4dbd remove debug output 2002-09-02 14:33:06 +00:00
interp 9baec4fbf0 Handle `Location:' and `Status:' headers of CGI program's output correctly. 2002-09-02 13:43:03 +00:00
interp ff56fa6ec1 Add redirection feature to web-server: If the handler returns with the
return code HTTP-STATUS/REDIRECT, the server creates a new request out of
the redirection response and recalls the handler to serve the request.
You can use MAKE-REDIRECTION-RESPONSE to create this special response.
2002-09-02 13:42:10 +00:00
interp 9602104a8c output directly to socket:outport in emit-man-page 2002-08-30 12:04:27 +00:00
interp f94396a54e look if file is executable 2002-08-29 14:53:44 +00:00
interp ecd5afadbe remove debug output
newline to output-port `out'
2002-08-29 14:34:38 +00:00
interp 50fa27f993 adapt to new response philosophy (not tested yet) 2002-08-29 14:05:55 +00:00
interp 7ca34fa270 * adapt rman-gateway to new response philosophy
* add rman-gateway to example server
* add init proc to http-test in start-web-server
2002-08-29 10:51:47 +00:00
interp 5bced0b8f7 remove introduced but nerving signal stuff from handlers 2002-08-29 08:32:39 +00:00
interp 62b3307fb2 * new response body: :HTTP-READER-WRITER-BODY
* hand over SOCKET:INPORT to SEND-HTTP-RESPONSE
* apply this to seval-handler
2002-08-28 16:44:07 +00:00
interp 57c6710012 * map socket inport to handler inport (allows POST requests)
* remove FIXME from seval
* add seval example to example web-server
2002-08-28 15:56:14 +00:00
interp a2aed3280e adapt seval-handler to new response philosophy
FIXME: problems with input port in POST request
2002-08-28 15:41:52 +00:00
interp 7fd23a0ceb let handler exit if error occurs 2002-08-28 15:40:32 +00:00
interp e877336d0a send extra headers from script's output 2002-08-28 10:10:45 +00:00
interp 542fea9f55 adpat cgi-server to new response philosophy
NOTE: There's a FIXME left: nph- scripts won't work at all currently.
2002-08-28 09:54:40 +00:00
interp fd2d2bc79c clean up dns lookup call 2002-08-27 13:48:30 +00:00
sperber 013c7bd5b3 Adjust use of TILDE-HOME-DIR-HANDLER. 2002-08-27 09:45:05 +00:00
sperber 3b6b813965 Move NULL-PATH-HANDLER from HTTPD-FILE-DIRECTORY-HANDLERS-INTERFACE to
HTTPD-BASIC-HANDLERS.
2002-08-27 09:42:02 +00:00
sperber c97bbfc1db Move MAKE-HTTP-ERROR-RESPONSE from HTTPD-CORE to HTTPD-RESPONSES.
Elide REALLY-MAKE-HTTP-ERROR-RESPONSE in the process.
2002-08-27 09:39:05 +00:00
sperber f5b7f76bd6 Fix HOME-DIR-HANDLER and TILDE-HOME-DIR-HANDLER. 2002-08-27 09:32:12 +00:00
sperber 4c98437ce0 Fix typo in SEND-HTTP-RESPONSE. 2002-08-27 09:28:09 +00:00
sperber c668e35e05 HOSTNAME -> HOST-NAME 2002-08-27 09:05:16 +00:00
sperber aeeeea79c1 Add copyright notice. 2002-08-27 09:03:22 +00:00
interp 755b715a77 * move dotdot-check and copy-inport->outport to sunet-utilities
* open necessary packages in various structures
2002-08-26 16:36:25 +00:00
sperber 52036a75ad Revive comment section from older version. 2002-08-26 15:15:02 +00:00
sperber e397f2520e R4RS -> R5RS 2002-08-26 15:14:10 +00:00
sperber 7460d8009f Add a MAKE-HTTPD-OPTIONS combinator for a more visually pleasant
layout for HTTPD-OPTIONS constructors.
2002-08-26 13:10:57 +00:00
sperber 3b298aadcc Remove old code from Gäbe Engelhart. 2002-08-26 11:46:27 +00:00
sperber 1a1dcebbd0 Remove HTTP-CONSTANTS / http/constants.scm. 2002-08-26 11:44:02 +00:00
sperber 541113a4f0 Fold text-generation.scm (which was down to a few lines) into core.scm. 2002-08-26 11:21:53 +00:00
sperber e8b7ef763f Remove Olin's import notes which are bound to be inaccurate by now.
Fix a few RFC URLs.
2002-08-26 11:18:44 +00:00
sperber af95d497af Properly handle HEAD requests.
Properly handle HTTP 0.9 requests.
2002-08-26 11:11:40 +00:00
sperber 6f7cd467f1 Adopt proper RFC terminology:
"reply" -> "response"
"reply code" -> "status code"
2002-08-26 09:59:14 +00:00
sperber d1438eb4a8 Rework the API of path handlers:
Path handlers must now return a response object similar to the
response objects of the PLT web server, encapsulating headers, mime
type, status code, and so on.

A response object in turn can contain an encoding of a body.  The only
presently supported body type is a procedure which just prints the
body.

Other changes:
- split file-dir-handler.scm out from handlers.scm
- moved the ICON-NAME constructor parameters for file handlers to the
  options
- removed input/output port redirections and work with paths
  explicitly
2002-08-26 09:46:11 +00:00
interp 1236b3dccd adapted to new logging facility of httpd 2002-08-26 08:26:08 +00:00
interp a6f10bc87d adapting to new httpd logging facility 2002-08-26 08:15:43 +00:00
interp 60df692033 bug removing (...parenthesised...) 2002-08-24 17:45:37 +00:00
interp 0119532744 changes in my-reported-fqdn:
* respect change in arguments between different calls before handing out
  cached value
* make its use safe in thread context
2002-08-24 17:26:56 +00:00
interp 1ea2e0f8e7 remove bug from my-reported-fqdn 2002-08-24 16:46:34 +00:00
interp 5f654f5fc3 use char-set:digit instead of deprecated char-set:numeric 2002-08-23 15:44:40 +00:00
interp ed4ad0798f use dns-lookup-ip before using host-info for fqdn 2002-08-23 15:41:06 +00:00
interp 64d4705ab3 * export selector and transformer of resolve-ip? field in httpd-options
* import dns to httpd-logging
* add dns-lookup facility to logging
2002-08-22 16:40:10 +00:00
interp e0af4da4d6 added field for resolving ips in logfiles 2002-08-22 16:10:08 +00:00
interp 017d5408e8 * adpated to new handler combinators
* change script call header (using exec ... now)
2002-08-22 15:33:37 +00:00
interp 2c9b931100 added handler combinators and adapted current basic handlers 2002-08-22 15:32:03 +00:00
sperber f4bacf411a Fix URL of HTTP 1.0 RFC. 2002-08-22 14:59:49 +00:00
interp 092874805f correct log output to logfile 2002-08-22 13:19:57 +00:00
sperber 0d70f66dd7 Revert to old representation of HTTP-URL:PATH. 2002-06-08 15:29:29 +00:00
interp f82499bf71 removed superfluous char-set:whitespace in call to string-trim 2002-05-30 14:07:30 +00:00
interp 77ebc6aea4 * split up big httpd-core file in several pieces
* make structures that used httpd-core using the new pieces of httpd-core
2002-05-26 17:56:56 +00:00
interp 3e16721158 renamed httpd-\(*\).scm files to \1.scm
updated modules.scm and docu accordingly
2002-05-26 14:47:48 +00:00
interp 3573dcc613 * moved files concerning web server to new subdirectory httpd
* minor change in inner order of modules.scm
* commented out structure in program-modules: source files are missing (?)
2002-05-14 13:53:55 +00:00