That is directly in conflict with the text at http://www.masonhq.com/docs/manual/Request.html#item_flush_buffer, which says, in part, "
<%filter> blocks will process the output whenever the buffers
are flushed. If autoflush is on, your data may be filtered in
small pieces."The documentation that comes with HTML::Mason::Request also says this. Can I cry now? Or, in leiu of that, is there some way that I can have a component disable the filter from a superior component (e.g. an autohandler) ?
On 5/11/06, RJ Herrick <
[EMAIL PROTECTED]> wrote:
Correct.
" Additionally, if a component has a |<%filter>| block, that component
is buffered until its entire output is generated. This means that inside
that component and any components that it calls, the buffer cannot be
flushed."
from http://www.masonbook.com/book/chapter-4.mhtml#TOC-ANCHOR-9
Shane McCarron wrote:
> More on this... it appears that the problem is in a filter block in my
> top level autohandler. This filter is designed to disable all submit
> buttons on the way out - they then get enabled as part of an onload
> handler. This way my users can't submit a page before I am done
> populating it. However, this appears to cause Mason (1.32 at least)
> to refuse to pass on the output even when flush_buffer is called. It
> seems to accumulate all output until the component completes, then
> send everything. Is that the expected behavior?
>
> Here's the filter block, just in case that matters:
>
> <%filter>
> s{input ([^>]*?type=")(submit|reset)(".*?>)}{input disabled="disabled"
> $1$2$3}isg ;
> </%filter>
>
> Help?
> --
> Shane McCarron
> [EMAIL PROTECTED] <mailto: [EMAIL PROTECTED]>
--
--
Shane McCarron
[EMAIL PROTECTED]

