[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