On Thursday, October 2, 2003, at 03:32 pm, Robin Berjon wrote:Jörg Walter wrote:
My question: how can AxKit accomplish (something similar to) that?
My only idea so far would be to use a classic sandwich-template system and integrate AxKit through Apache::Filter. Which would mostly defy the reason to use AxKit. Send-Ahead is only useful for noncacheable resources.
Please tell me your ideas, they may be a bit academic, hard to implement, or not possible right now, still I'd like to hear them.
Well the problem here would be that you can't know what headers to send before the last transformation (since it might affect at least the mime type), and since the last transform returns its content as a whole (as opposed to progressively outputting it) I'm not sure how much you'd gain by sending the headers a little bit earlier than we do now. Or have I misunderstood the issue?
Thinking about it in relation to my pipeline stuff, it might be possible if we insist it's the last
thing in the transformation list. Since it gets called in reverse it's the first thing called.
Ah but yes, this makes for a most excellent first step :)
We just have to ensure the last thing in the pipeline is a Pipeline::Sender or such, if one exists
do nothing, if not add an axkit standard one. Then you just make your send ahead thing a
inherit from pipeline::sender....
I was about to say that send-ahead should be the default since it makes a site seem more responsive but there's the issue of last steps not setting the mime-type themselves but instead relying on a previous step. This is never the case in XSLT (or is it?) but could be in other situations.
So the question is, are those "other situations" worth taking into consideration (I can't find a compelling use case) and even if they are, could we still make send-ahead the default, and document that you have to turn it off (or provide a dummy last step) if you want an earlier bit of the pipeline to set the mime-type?