But... but... but...

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]

Reply via email to