httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Graham Leggett <minf...@sharp.fm>
Subject Re: CL for Proxy Requests
Date Fri, 30 Nov 2001 21:46:49 GMT
Ryan Bloom wrote:

> Our proxy doesn't use filters.  It tries to create fake requests, but it is a hack.
> It writes directly to the socket occasionally, and even when it doesn't, it is too
> hard to follow what is actually happening in the proxy.

As I understand it we do use filters (but my understanding is probably
wrong) - specifically in the http and ftp proxies (notably not the
connect proxy, but then by definition a connect proxy is a passthrough
entity thus filters would be redundant anyway).

The proxy code initiates a socket connection, then it creates a simple
filter stack containing a few basic filters, like (up till recently)
DECHUNK, HTTP_IN and CORE (if memory serves). The stack is then called,
and content arrives. This content is then passed to the normal output
filter stack.

The main missing piece of this is that I understand is that it is
currently not possible for a user via ProxyAdd[Input|Output]Filter to
add a filter to this backside filter stack. The fix would thus be to add
a set of Proxy... options, and a set of hooks allowing independant
modules (eg mod_headers, whatever) to add filters to the backside filter
stack.

My understanding of the bucket code is also incomplete - I understand
there are a number of types of buckets, representing data in various
ways, from the logical sequence-of-bytes type bucket to buckets that
represent pipes, etc - am I right in thinking there is suck a bucket
that represents a socket connection, and that we should be using such a
bucket to kick off the backside filter stack, and not use a manual
socket connection as is done now? (Am I talking rubbish?)

If this is so - how do we open a connection to one of many sockets, in
such a way that if the first attempt to connect fails, the second is
attempted (etc)...?

Regards,
Graham
-- 
-----------------------------------------
minfrin@sharp.fm		"There's a moon
					over Bourbon Street
						tonight..."
Mime
View raw message