On 11/19/2009 07:24 PM, Lukasz Skowronski wrote:
> Hi,
>
> ----- Original Message -----
> From: "Vincent Massol">
>> I'm still wondering. When you do a view source from an XE page, it's
>> not very nice and doesn't look very professional.
>>
>
> Just some thoughts...
>
> What about creating an optional (configured in web.xml)
> ResponseFormattingFilter which calls
> chain.doFilter(request, new PrettyResponse(response));
>
> PrettyResponse would be a wrapper for ServletResponse which would delegate
> all method calls to original response but also wrap its OutputStream with
> PrettyOutputStream.
>
> PrettyOutputStream write() methods would have all necessary logic to
> properly indent html tags on-the-fly and call its underlying (wrapped)
> outputStream write() method whenever possible. This way we can process the
> document in small chunks.
>
> We could also buffer this way the whole document in the filter and pretty
> print it at the end - it would be easier to implement but more memory
> consuming.
>
> Additional possibilities:
> - we could use CompactResponse (the output doc would be a one-liner, all
> unnecessary whitespaces removed) in order to lower bandwidth
> - we can add the cache directives in response headers (so we won't need
> Apache for doing this - this can be also done in separate filter, in fact I
> already use such a filter)

This is a pretty dangerous zone. While I would also like to have neat 
HTML responses, it's hard to come with a generic prettyprinter, since 
some elements depend on having whitespace, others must explicitly have 
no whitespace between similar elements to prevent broken layouts. True, 
this means that the style is a bit fragile, but this the style we have, 
and there's little we can do about it.

-- 
Sergiu Dumitriu
http://purl.org/net/sergiu/
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to