On 5/8/10 12:00PM, drakma-devel-request(a)common-lisp.net wrote:
> Date: Fri, 7 May 2010 21:43:17 +0200
> From: Edi Weitz <edi(a)agharta.de>
> Subject: Re: [drakma-devel] https through a proxy
> To: General interest list for Drakma and Chunga
> <drakma-devel(a)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