vibr
d06479ee4b
adapt httpd-handler-lib-interface and httpd-handler structure to
...
implementation of chunked transfer coding in handler-lib
2005-04-16 20:49:29 +00:00
vibr
15049e1c58
implementing chunked transfer coding:
...
*new proc READ-MESSAGE-BODY: a high-level interface for reading in
message bodies (should be used by all handlers)
*new proc READ-ORDINARY-BODY: reads in message bodies with no transfer
coding applied
*new proc READ-CHUNKED-BODY: reads in message bodies in chunked
transfer coding
*new proc GET-CHUNK-SIZE: reads in and parses the size of the next
chunk in a chunked message body
*helper procs READ-AND-DISCARD-TRAILER and DISCARD-LINE-TERMINATOR
*minor changes to GET-NUMERIC-FIELD-VALUE (cosmetic)
2005-04-16 20:45:33 +00:00
vibr
555d52806d
modify seval-handler:
...
*don't use concept of reader-writer-body (which is broken), use
writer-body instead -> seval-handler now works correctly
*use new interface READ-MESSAGE-BODY from handler-lib for reading in the
message body
*rename READ-REQUEST-SEXP to PARSE-REQUEST-SEXP
*catch errors thrown by READ in PARSE-REQUEST-SEXP to answer 400
instead of 500 for requests whose message body doesn't contain a valid
s-expression
2005-04-16 20:33:35 +00:00
vibr
36db985453
in PARSE-HTTP-REQUEST: catch errors thrown by READ-RFC822-HEADERS and
...
answer 400 instead of 500 for requests with bad headers
2005-04-16 20:22:41 +00:00
vibr
0554b2d494
move copyright declarations to COPYING
2005-04-16 20:19:32 +00:00
vibr
630c77d83f
syntax of comma separated list which is the field value of the
...
Transfer-Encoding header: needs a single SP less
2005-04-15 15:50:30 +00:00
vibr
d174ad3954
add a copy of the regexp definitions HEX and ESCAPED from structure
...
url to resolve mutual dependency
2005-04-15 15:34:48 +00:00
vibr
184c284c4a
move these procs from lib/sunet-utilities to httpd/handler-lib:
...
GET-SOCKET-HOST-STRING
GET-NUMERIC-FIELD-VALUE
GET-BODY-LENGTH-FROM-CONTENT-LENGTH
CHUNKED-TRANSFER-CODING?
reason: they are httpd-specific in using httpd's data types
2005-04-15 15:23:32 +00:00
vibr
d915722a9b
implementing chunked transfer coding:
...
* new predicate CHUNKED-TRANSFER-CODING?
tests wether a request's entity body is sent in chunked
transfer-encoding
2005-04-15 12:31:43 +00:00
vibr
4c1e1a16a8
trivia: towards a more modern HTML: closing slash within empty HTML
...
elements
*new: EMIT-EMPTY-TAG
*use EMIT-EMPTY-TAG instead of EMIT-TAG where appropriate
2005-04-14 21:15:21 +00:00
vibr
e8dc69b745
we must send a "Connection: close" header as long as we don't support
...
persistent connections
2005-04-14 19:17:16 +00:00
vibr
db826a9c1f
add comment explaining why the concept of http-reader-writer-body
...
(which is used by the seval-handler only) doesn't work
2005-04-14 15:18:54 +00:00
vibr
8e7e071db2
fix MAKE-CLF (which prepended superfluous slash to requested resource)
2005-04-14 14:42:03 +00:00
vibr
9d3ddd79b9
*delete GET-SOCKET-HOSTNAME-AND-PORTNUMBER (was buggy anyway)
...
*rewrite GET-SOCKET-HOST-STRING
2005-04-14 14:06:00 +00:00
vibr
8974332da1
Location header must be an absolute URL:
...
*adapt file-dir-handler's 301 response
*new procs GET-SOCKET-HOSTNAME-AND-PORTNUMBER, GET-SOCKET-HOST-STRING
2005-04-14 11:38:37 +00:00
vibr
96b485294f
*new predicate ABSOLUTE-URL?
...
*remove URI-HAS-PROTOCOL?
2005-04-14 11:32:38 +00:00
vibr
f605367c1a
answer 400 (Bad Request) for 1.1-Requests which don't include a Host
...
header:
*new proc CHECK-HOST-HEADER
2005-04-13 20:53:53 +00:00
vibr
453a7cdde6
correct call of http-error in MAKE-HOST-NAME-HANDLER
2005-04-13 20:48:57 +00:00
vibr
97f730075d
trivia: formatting of error responses
2005-04-13 20:46:40 +00:00
vibr
40d7c923a2
answer 505 (Version not supported) for requests with major version >
...
implemented version:
*new proc CHECK-MAJOR-HTTP-VERSION
*new case in MAKE-ERROR-RESPONSE
2005-04-13 19:35:22 +00:00
vibr
fe6b3fffac
change URL-Parser's interface: parser now preserves info whether
...
Request-URI's path ends with a slash.
(See http://httpd.apache.org/docs-2.0/misc/rewriteguide.html ->
"Trailing slash problem" for reasons).
2005-04-13 10:32:29 +00:00
vibr
0c7c957f2b
add comment
2005-04-10 15:15:55 +00:00
vibr
90fc61473e
add comment on assumptions about entity in request to seval-handler
2005-04-06 22:49:50 +00:00
vibr
c9c45eae6e
better comment
2005-04-06 22:47:14 +00:00
vibr
9342e0e593
*replace call of PARSE-REQUEST-URI (relict of old URL parser)
...
with call of URL-STRING->HTTP-URL
2005-04-06 22:45:48 +00:00
vibr
2dcdd41ed9
*reinsert lost line
...
*replace calls of UNESCAPE-URI (relict of old URL parser) with UNESCAPE
*simplify URI-HAS-PROTOCOL?
2005-04-06 22:43:53 +00:00
vibr
512ccfaed3
removal of old URL parser relicts:
...
*replace calls of UNESCAPE-URI with UNESCAPE
*remove imports of uri package where no longer needed
2005-04-06 22:41:10 +00:00
vibr
ed53670895
*add comment explaining why we don't need to support "*" and authority
...
Request-URIS
*comment on when unescaping is done
*don't unescape query when building a http-url record
*don't escape query when unparsing a http-url record.
*remove PARSED-URI->HTTP-URL, integrate its code into
URL-STRING->HTTP-URL
*add dummy encoder ESCAPE-NOT-UNRESERVED-CHARS
2005-04-06 22:31:33 +00:00
vibr
745a123735
adapt code to remove calls of URI-PATH->URI (relict of old URL parser)
2005-04-06 12:32:17 +00:00
vibr
61a63b4d4b
adapt URI-HAS-PROTOCOL? to new URL parser
2005-04-06 11:59:05 +00:00
vibr
0de6fe79b4
replace calls of HTTP-URL->STRING (relict of old URL parser)
...
with calls of HTTP-URL->URL-STRING
2005-04-06 11:44:28 +00:00
vibr
17a46a7e71
rename URI-STRING->HTTP-URL to URL-STRING->HTTP-URL
2005-04-06 11:35:37 +00:00
vibr
5836ae567b
export HTTP-URL-PATH->PATH-STRING in url-interface
2005-04-05 18:45:53 +00:00
vibr
9399bf9397
remove MY-REPORTED-PORT (relict of old URL parser)
2005-04-05 18:45:02 +00:00
vibr
da10de6309
add function HTTP-URL-PATH->PATH-STRING (unparses path in http-url record into string)
2005-04-05 18:43:23 +00:00
vibr
e5c8cae17f
rename HTTP-URL->URI-STRING to HTTP-URL->URL-STRING
2005-04-05 10:59:13 +00:00
vibr
1e93a6cb9f
rename PARSE-URI to PARSE-URL
2005-04-05 10:50:12 +00:00
vibr
3548b25c26
rename HTTP-URL-SEARCH to HTTP-URL-QUERY (adaption to restructured
...
http-url type in url.scm)
2005-04-04 21:13:35 +00:00
vibr
d0c64d371a
further restrict url-interface
2005-04-04 21:10:05 +00:00
vibr
46645ccd58
*remove definition of PARSE-REQUEST-URI (relict of Olin's old URL parser)
...
*use URI-STRING->HTTP-URL instead
2005-04-04 21:07:55 +00:00
vibr
d864e4da80
correct reference in comment
2005-04-04 20:57:36 +00:00
vibr
cf747a97b4
*add solution for mistake in RFC 2616 (where query part of
...
Request-URIs is only allowed for absoluteURIs)
*rename PARSE-HTTP-URL to URI-STRING->HTTP-URL
2005-04-04 15:35:50 +00:00
vibr
ba78eba433
*add comment on another mistake in RFC 2616 (query part of
...
Request-URIs only allowed for absoluteURIs)
*add copy of Appendix A of RFC 2396 for convenience
2005-04-04 13:36:54 +00:00
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