On 5/8/10 12:00PM, drakma-devel-request@common-lisp.net wrote:
Date: Fri, 7 May 2010 21:43:17 +0200 From: Edi Weitz edi@agharta.de Subject: Re: [drakma-devel] https through a proxy To: General interest list for Drakma and Chunga drakma-devel@common-lisp.net
Thanks for the patch. I can't really read it because your email client broke it, but I think I get the idea. Yes, I didn't integrate the old patch and IIRC I didn't do it because it was a LW-only solution. Obviously, I don't like the new solution either because it uses unexported symbols (and you can't change the underlying stream for a reason).
As far as I understand, all this happens while the headers are still sent and while chunking isn't really needed. I haven't really thought about the details, but maybe it would be possible to change the order of how and when the streams are wrapped and use only exported functionality. In the worst case, one could "unwrap" the stream, attach SSL, and then "rewrap" it. Of course, the easiest solution would be if CL+SSL and AllegroCL had something similar to LispWorks' comm:attach-ssl.
Anyway, if someone wants to work on a "clean" solution to this problem, I'll happily review it.
I cleaned up my patch. It now contains no double-colons. It ends up wrapping with the flexi-stream and chunking-stream twice in the https through a proxy case, as not wrapping didn't work (it may work to wrap the proxy communication with only a flexi-stream, but I didn't try that). I also fixed a bug that caused it to include on the first (GET) line to the server the entire URI instead of only the path part of it when a request through a proxy with keep-alive gets redirected. Patch attached.
-Bill