Have you tried utilizing the var attribute in the sling:include tag?

https://sling.apache.org/documentation/bundles/scripting/scripting-jsp.html#include

That may be what you're looking for.

- Jason

On Fri, Sep 7, 2018, at 1:18 PM, Jörg Hoh wrote:
> In my sling application I have a number of nested components, which are
> called via the <sling:include> tag. If a component late in the rendering
> process throws an error, I would like to return an HTTP statuscode 500. But
> if more data than the size of the output buffer are written, the response
> headers are already comitted and written to the network, so I cannot change
> the statuscode anymore and I get in the log something like "response
> already comitted". Thus the client receives a HTTP status 200, but the
> rendering is not complete.
> 
> The problem could be mitigated, if the <sling:include> tag could provide a
> ByteArrayOutputStream as part of the Response object, so there is never an
> overflow of the OutputBuffer. Instead everything is buffered until an
> explicit flush is invoked (which is already happening). This would cause
> the entire rendering output being stored in-memory while retaining the
> ability to set the HTTP statuscode (and less important: all other response
> headers) until all the request processing is completed.
> 
> This would avoid my problem of sending a statuscode while the rendering is
> not completed yet. As downsides:
> 
>    - The response cannot be streamed to the client while the rendering is
>    still happening, potentially slowing down the response.
>    - The memory usage to process a request will increase.
> 
> If you need to stream data or send large amounts of data, you could still
> implement a servlet and avoid the use of the taglib; but for the usecase
> where the sling:include is used, the output is unlikely to grow into the
> megabytes.
> 
> WDYT? Should this part of sling, or should be rather create a custom tag
> library with our own version of the non-streaming "include" tag?
> 
> Jörg
> -- 
> Cheers,
> Jörg Hoh,
> 
> http://cqdump.wordpress.com
> Twitter: @joerghoh

Reply via email to