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

