On Fri, Jun 28, 2013 at 1:30 PM, Greg Stein <gstein_at_gmail.com> wrote:
> On Jun 28, 2013 11:17 AM, "Philip Martin" <philip.martin_at_wandisco.com> wrote:
> > Philip Martin <philip.martin_at_wandisco.com> writes:
> > > Suppose serf were to keep track of the number of outstanding requests
> > > (it may already do that I haven't checked). Then if the number of
> > > outstanding requests is zero when the 411 is received the downgrade to
> > > HTTP/1.0 will be OK. Lots of client operations start with multiple
> > > requests in serial before switching to pipelined requests, so in all
> > > those cases the downgrade will work.
> > I've been experimenting with the following patch to implement the above
> > strategy. It's sufficient to allow me to checkout and commit through an
> > nginx proxy that does not support chunked encoding. I had hoped to run
> > the regression tests through nginx but for some reason the greek tree
> > import fails, although the same import run manually outside the
> > testsuite works. I'm not sure why that happens.
> Not everything uses run_one(). It is easier to send a second OPTIONS than to catch the next request, wherever that may be. (and it could be very hard to replay)
Could you try svn trunk? Set busted-proxy=yes in your config to enable
the new behavior.
Without the knob turned out, you should get a 411 error. As Stefan
pointed out, we may want to consider detecting 411 and providing a
better error message.
With the knob enabled, it should auto-detect your nginx proxy and
stick to using C-L requests.
Received on 2013-06-29 05:50:45 CEST