On Mon, 25 Sep 2006 01:12:35 +0300, "Ivan Toshkov" ivan@toshkov.org wrote:
Great. And I already have another one. The funcall
(drakma:http-request "http://www.openrdf.org/sesame/servlets/listRepositories")
returns:
NIL 200 ((:CACHE-CONTROL . "no-cache") (:EXPIRES . "0") (:PRAGMA . "no-cache") (:CONTENT-TYPE . "text/xml") (:DATE . "Sun, 24 Sep 2006 21:52:34 GMT") (:SERVER . "Apache-Coyote/1.1") (:CONNECTION . "close")) #<URI http://www.openrdf.org/sesame/servlets/listRepositories%3E #<FLEXI-STREAMS:FLEXI-IO-STREAM {B579D01}> T
while the browser shows a small XML. I traced the problem to the READ-BODY function, which assumes (perhaps rightly so) that if the content length header is missing the stream must be a chunked stream. In this case it's not and so READ-BODY returns NIL.
Yeah, that's a mistake due to a thinko of mine which must have crept in around version 0.4.0. Should be fixed in 0.5.0 which was just released. Thanks for catching that.
Have you asked on their mailing list?
I haven't. Please check the excuse again :)
OK, once you have more time you should probably ask there. If it's really an oversight in CMUCL, it should be fixed there and not in FLEXI-STREAMS.
EXCUSE: I have to make this legacy Lisp app to talk to a Java web app and I have to do it by Tuesday for a demo. So I don't have the time to do "the right thing" right now and I'm doing the minimal fixes required.
No problem. Good luck with the demo!
Cheers, Edi.