[kpax-devel] Miscellanous issues
Maciej Katafiasz
mathrick at gmail.com
Wed Jul 4 14:25:17 UTC 2007
Hello,
in this mail I detail a couple of issues I had with KPAX during my use of it:
1) Problems with SLIME, at least under SBCL. You can't run (run-kpax
:server-class 's-http-server) from SLIME's REPL buffer, because it'll
fail to process the request. I wasn't able to track the exact source
of the problem, but it seems it's an issue with SLIME hijacking some
streams. If you run it directly in *inferior-lisp* buffer (just that
one call is sufficient, everything else can be done in REPL), it runs
fine. It's not a huge problem once you discover that, but it ought to
be mentioned somewhere, as trying to figure out why it doesn't work is
really frustrating.
2) Can't stop S-HTTP-SERVER
CHAMSTER> (stop-kpax :server-class 's-http-server)
==>
The value
(("s-http-server"
#<SB-BSD-SOCKETS:INET-SOCKET descriptor 7 {A8DF539}>
#<SB-IMPL::HANDLER INPUT on descriptor 7: #>))
is not of type
SB-THREAD:THREAD.
[Condition of type TYPE-ERROR]
3) HTTP response codes handling is limited and rather weird. Why are
there separate and identical handlers for s-http-server and mod_lisp?
Also, it's impossible to use arbitrary response codes, and I happened
to need 302 which was not included. I fixed that by defining my own
copy of kpax::response-status-to-s-http-server-status, but in general
it should just allow an arbitrary (code . message) response besides
the predefined keyword ones
Cheers,
Maciej
More information about the kpax-devel
mailing list