[hunchentoot-devel] Socket errors during requests
Andrei Stebakov
lispercat at gmail.com
Thu May 21 19:44:37 UTC 2009
I tried the development version from svn://
bknr.net/svn/trunk/thirdparty/hunchentoot
Actually, read-initial-request-line has the condition:
(handler-case
(let ((*current-error-message* "While reading initial request
line:"))
(with-mapped-conditions ()
(read-line* stream)))
((or end-of-file
#-:lispworks usocket:timeout-error) ()
nil))))
Only it doesn't cover the sbcl type error that I have. If I add #+sbcl
sb-sys:io-timeout to the handler-case error list, the error is suppressed,
but I am not sure it it's the proper fix for everyone. Basically the
function that works for me is following:
(defun read-initial-request-line (stream)
"Reads and returns the initial HTTP request line, catching permitted
errors
and handling *BREAK-EVEN-WHILE-READING-REQUEST-TYPE-P*. If no request could
be read, returns NIL. At this point, both an end-of-file as well as a
timeout condition are normal. end-of-file will occur when the client has
decided to not send another request but close the connection. A timeout
indicates that the connection timeout established by Hunchentoot has expired
and we do not want to wait for another request any longer."
(let ((*break-on-signals* (and *break-even-while-reading-request-type-p*
*break-on-signals*)))
(handler-case
(let ((*current-error-message* "While reading initial request
line:"))
(with-mapped-conditions ()
(read-line* stream)))
((or end-of-file
#-:lispworks usocket:timeout-error
#+sbcl sb-sys:io-timeout) ()
nil))))
Thank you,
Andrei
On Thu, May 21, 2009 at 12:10 PM, Edi Weitz <edi at agharta.de> wrote:
> On Thu, May 21, 2009 at 5:40 PM, Andrei Stebakov <lispercat at gmail.com>
> wrote:
>
> > What's the link to dev version of hunchentoot (I don't know how to find
> it
> > on bknr.net)?
>
> Start here
>
> http://bknr.net/trac/browser
>
> and then either look at "trunk/thirdware" or at "ediware".
>
> > Could you be so kind to put instructions how to get the dev version on
> your
> > main page for Hunchentoot at http://www.weitz.de/hunchentoot/?
>
> I'm reluctant to do that. I think that someone who wants to work with
> the "cutting edge" version should also be prepared to subscribe to the
> dev mailing list where this link has been mentioned a couple of times.
> I don't really want to encourage unsuspecting users to use the dev
> version.
>
> Edi.
>
> _______________________________________________
> tbnl-devel site list
> tbnl-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/tbnl-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/tbnl-devel/attachments/20090521/ec3c8ebd/attachment.html>
More information about the Tbnl-devel
mailing list