On Thu, Apr 9, 2015 at 1:03 AM, Eric Wong <e...@80x24.org> wrote: > "Lin Jen-Shin (godfat)" <god...@godfat.org> wrote: >> On Wed, Apr 8, 2015 at 5:34 AM, Eric Wong <e...@80x24.org> wrote: >> > + # this probably breaks fewer middlewares than returning whatever >> > else... >> > + [ 500, [], [] ] >> >> You probably meant [ 500, {}, [] ] here? > > No, arrays work fine, Rack headers just need to respond to #each > with key + value strings.
I didn't know this, and just looked at the spec. Indeed it's only claiming this. However some middleware bundled with Rack would try to call [ ] method with a string, in those cases, this would probably give a type error. I think the spec should probably also claim that it should respond to [ ] and taking strings as keys. > I prefer Arrays since they use less memory per-entry, but here they're > the same cost when empty. That's great :P > But I'm also likely to revert this patch since it's no longer a drop-in > replacement and the old, synchronous ProxyPass is reinstated. After playing a bit with hijack myself, I started to wonder if hijacking is really a good idea, exactly the reason that it would probably break a lot of middleware...