vibr
69948e9561
adapt definitions of interfaces and structures to new URI
...
parsing framework
2004-10-18 18:33:19 +00:00
vibr
ed1e4428c5
*move general procedures ESCAPE, UNESCAPE and their helper procs from
...
url.scm to uri.scm
-->Parser/Unparser for HTTP 1.1 URIs is now complete and resides in
url.scm; Encoder/Decoder applicable to URIs in general resides in uri.scm.
(All has been rewritten from scratch, next to nothing of Olin's code
is left).
<--
2004-10-18 18:23:03 +00:00
vibr
584bfa2cdb
*work around scsh bug (?) in definition of charset UNRESERVED
...
*new procs for encoding URIs:
-general proc ESCAPE taking an RegExp representing forbidden chars as argument
-specialized procs ESCAPE-SEGMENT, ESCAPE-QUERY
*new helper proc ASCII->ESCAPED
*use ESCAPE-SEGMENT and ESCAPE-URI in HTTP-URL->URI-STRING
2004-10-18 17:35:40 +00:00
vibr
c48446ba7f
*remove ESCAPE-URI (didn't reliably differentiate between different portions of
...
a URI)
*move INT->HEXCHAR to url.scm
2004-10-18 16:37:32 +00:00
vibr
44a8ef28be
*new procedure UNESCAPE (unescape URI-components using RegExps)
...
*move HEXCHAR->INT from uri.scm to here
*use UNESCAPE in PARSED-URI->HTTP-URL
2004-10-14 17:18:24 +00:00
vibr
9e71b351d4
*remove UNESCAPE-URI, HEX-DIGIT?
...
*move HEXCHAR->INT to url.scm
2004-10-14 17:14:44 +00:00
vibr
932f03a638
*fix two typos in RegExps
...
*better comments for PARSE-URI, SPLIT-PATH
*make SPLIT-PATH really accept PARSE-URI's return values
*restructure record-type HTTP-URL
*new procedure PARSED-URI->HTTP-URL
*rewrite PARSE-HTTP-URL to use PARSE-URI and PARSED-URI->HTTP-URL
*remove out-dated comments
*remove out-dated procedure PARSE-HTTP-URL-STRING
*remove DEFAULT-HTTP-SERVER (relict of server record-type)
*rewrite HTTP-URL->STRING
*rename HTTP-URL->STRING to HTTP-URL->URI-STRING
2004-10-11 17:01:32 +00:00
vibr
fe08e779f0
remove record-type server and associated procedures
...
(being a relict of parsing of general URIs)
2004-10-11 09:05:24 +00:00
vibr
41d3e29766
*add comment on how ambiguous definition of Request_URIs in RFC 2616
...
is 'solved' by uri-parser
*add comment on record-type server and associated procedures
2004-10-11 08:54:41 +00:00
vibr
8de8e01f0d
adapt documentation to reflect removal of old uri-parser and addition
...
of new one
2004-10-10 18:30:45 +00:00
vibr
a1e79c4fc7
parse HTTP 1.1 URIs:
...
* add RegExps
* add proc PARSE-URI
* add proc SPLIT-ABS-PATH
2004-10-06 19:10:49 +00:00
vibr
d9950a9b0b
remove PARSE-URI from exports of module uri
2004-10-06 19:08:19 +00:00
vibr
2cb8502f9e
remove uri-parser PARSE-URI
...
(completely out-of-date, has never seen RFC 2396)
2004-10-06 13:33:45 +00:00
vibr
649f374e8b
add comment on uri-parser
2004-10-06 13:29:06 +00:00
vibr
53e3e9672f
adapt to RFC terminology:
...
rename PARSE-HTTP-SERVERS-URL-FRAGMENT to PARSE-REQUEST-URI
rename variable uri-string to request-uri
2004-10-05 10:24:29 +00:00
vibr
cd22ab11d4
Corrected bug: SEVAL now generates a response-body even if the request's body isn't
...
form-url encoded or doesn't contain a program
2004-08-15 12:44:55 +00:00
vibr
38f2594ba5
emit less newlines
2004-08-15 12:40:06 +00:00
vibr
35565068fb
char-set:blank = LWS from RFC 2616 (after folding)
2004-08-15 12:02:36 +00:00
vibr
ffac0ebcac
simplified get-numeric-field-value (now uses string-trim-both),
...
adapted packages.scm
2004-08-15 11:49:15 +00:00
vibr
8bf71fc3a5
get-numeric-field-value: correct error message
2004-08-15 11:06:39 +00:00
vibr
44100cbf5e
Added type NO-BODY for responses which must not contain a message-body
...
(201, 304, 404). Added export of type-predicate no-body?. Adapted
SEND-HTTP-RESPONSE to check for no-body responses. Extended
MAKE-ERROR-RESPONSE to make responses 201, 304, 404.
2004-08-15 11:03:28 +00:00
vibr
0bb601a0e0
make server-generated webpages XHTML 1.0 Strict: emit prolog
...
(not tested)
2004-08-14 22:08:07 +00:00
vibr
549594bef4
with-tag* outputs no newlines
2004-08-14 22:05:06 +00:00
vibr
ef48e4e5ae
make-host-name-handler now uses get-header from sunet-utilities.scm
2004-08-14 22:03:19 +00:00
vibr
8cf841bad3
rename get-content-length to get-body-length-from-content-length
...
move get-body-length-from-content-length and get-numeric-field-value
from seval.scm to sunet-utilities.scm
adapt packages.scm
2004-08-14 21:58:11 +00:00
vibr
f8559581d2
GET-NUMERIC-FIELD-VALUE now uses GET-HEADER from utilities.scm
...
and returns #f if GET-HEADER does so
adapted GET-CONTENT-LENGHT
2004-08-14 21:18:12 +00:00
vibr
aea0e950ba
removed definition of GET-HEADER which conflicted with definition of
...
GET-HEADER in utilities.scm and wasn't exported anyway
2004-08-14 20:54:57 +00:00
vibr
ffbe3b21cd
factor out parsing of content-length header value -> GET-CONTENT-LENGTH
...
generalize parsing of content-length header value to parse all header field
values of the form 1*DIGIT -> GET-NUMERIC-FIELD-VALUE
check for valid content-length header in SEVAL before answering 200
TODO: SEVAL is still buggy for request with invalid _body_
2004-08-14 19:07:23 +00:00
vibr
9fcfcf36f0
add comments explaining why seval-handler is buggy
2004-08-14 15:47:29 +00:00
vibr
06ec0f0293
server-generated webpages -> XHTML 1.0 Strict:
...
add XML namespace declaration to html element
2004-08-13 15:49:19 +00:00
vibr
6969b80206
- move XHTML stuff from responses.scm to htmlout.scm
...
- new function EMIT-PROLOG
- define XML namespace declaration
- adapt macro %hack-attr-elt: special treatment of xmlnsdecl-attr
(this is not nice, but the only alternative was hard-coding the XML
namespace declaration into the various handlers)
- element names -> lower case
2004-08-13 15:46:53 +00:00
vibr
96f0ae41d5
-move XHTML stuff from responses.scm to htmlout.scm
...
-don't use WRITE-STRING with \n (\n within strings is not in R5RS),
instead use FORMAT with ~%
-use EMIT-PROLOG and EMIT-TAG from htmlout.scm
2004-08-13 15:37:31 +00:00
vibr
c089e26e96
move XHTML stuff from responses.scm to htmlout.scm, adapt
...
packages.scm
2004-08-13 15:34:00 +00:00
vibr
a9ae5061d0
make server generated html pages XHTML 1.0 Strict:
...
element names -> lower case
2004-08-13 15:26:50 +00:00
vibr
4d7f10960c
fix typo
2004-08-11 19:38:16 +00:00
vibr
7bdd94cdb5
"moved-temp" -> "temp-redirect"
...
(HTTP/1.1: use 307 instead of 302 for unambiguity)
2004-08-11 19:06:05 +00:00
vibr
7b6f5675af
allow header in 405 answers
2004-08-11 14:53:11 +00:00
vibr
880a05229c
-adapt calls of make-error-response
...
-allow header in 405 answers
-answer 501, not 405, for unimplemented/unrecognized methods
2004-08-11 14:51:51 +00:00
vibr
5f64e72cd0
make-error-response:
...
more meaningful error description: show parsed uri
2004-08-11 14:48:11 +00:00
vibr
3abe557a86
make-error-response in response.scm uses http-url->string
2004-08-11 14:45:32 +00:00
vibr
8b09f2b338
-adapt calls of make-error-response
...
-answer 501, not 405, for unimplemented/unrecognized methods
2004-08-11 12:28:46 +00:00
vibr
1c4445933d
adapt docu of make-error-response to its reworked interface
2004-08-11 10:43:26 +00:00
vibr
f22f43ccd1
make-error-response:
...
use stuff in req where req isn't #f
2004-08-11 10:17:14 +00:00
vibr
2ee378aea9
add comments:
...
-make clear difference between http-error and
fatal-syntax-error
-refer to make-error-response for args of http-error
2004-08-11 09:20:31 +00:00
vibr
a3dd880c7a
+catch calls of make-error-response with too few arguments
2004-08-10 14:26:50 +00:00
vibr
4b37826de8
+comment/question
2004-08-10 14:25:55 +00:00
vibr
1bdac52ad6
adapt calls of make-error-response: remove tautologous description of errors
2004-07-30 22:26:50 +00:00
vibr
7c7be57a22
changes to make-error-response:
...
(1)no special treatment of first "optional" argument
- rationale: a different number of args is required depending on the
specific error code
(2)use close-html to write out all _effectively_ optional args
(3)generated html-pages are valid XHTML 1.0 Strict
(4)require header Allow for 405 errors
(5)more exact descriptions of errors in generated html-pages
TODO: handle calls of make-error-response with too little args
2004-07-30 22:25:03 +00:00
vibr
63e4761c58
adapt calls of make-error-response:
...
no URI header field in 1.1
2004-07-29 16:09:31 +00:00
vibr
5e14a326b9
adapt make-error-response:
...
- no URI header field in 1.1
- new 30x status codes in 1.1
2004-07-29 16:08:30 +00:00