OrigResponseWrapper wrap = new OrigResponseWrapper(res);
fc.doFilter(sr, wrap);
if (wrap.writer != null ) wrap.writer.flush();
wrap.sos.flush();
String returnData = new String(wrap.stream.toByteArray());
for (Transform transform : transforms) {
switch (transform) {
case HTML_DATAURI:
if (wrap.contentType == null) wrap.contentType = "text/html";
returnData = newDataUri(Mode.HTML,
returnData,
new URLBasedResolver(getURLFolder(requestURL)),
getDataUriMaxResourceSize(req, client))
.convert();
break;
case CSS_DATAURI:
if (wrap.contentType == null) wrap.contentType = "text/css";
returnData = newDataUri(Mode.CSS,
returnData,
new URLBasedResolver(getURLFolder(requestURL)),
getDataUriMaxResourceSize(req, client))
.convert();
break;
case CSS_MHTML_SEPARATE:
case CSS_MHTML_SINGLE:
CSSMHTML.ConversionResult result = new CSSMHTML(returnData, new URLBasedResolver(requestURL.substring(0, requestURL.lastIndexOf('/') + 1)), requestURL).convert();
if (transform.equals(Transform.CSS_MHTML_SEPARATE)) {
if (wrap.contentType == null) wrap.contentType = "text/css";
// TODO this doesn't take into account the transforms array in URL
returnData = result.mhtmlRefCSS;
Response sep = new Response(CSSMHTML.getContentType(), wrap.headers, result.mhtml);