You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by jo...@apache.org on 2010/06/01 21:28:43 UTC
svn commit: r950226 - in /shindig/trunk/java/gadgets/src:
main/java/org/apache/shindig/gadgets/http/
main/java/org/apache/shindig/gadgets/render/
main/java/org/apache/shindig/gadgets/render/old/
main/java/org/apache/shindig/gadgets/rewrite/ main/java/o...
Author: johnh
Date: Tue Jun 1 19:28:42 2010
New Revision: 950226
URL: http://svn.apache.org/viewvc?rev=950226&view=rev
Log:
Part #2 of move to ResponseRewriter interfaces.
Converts RequestRewriter implementations to ResponseRewriters instead. Replaces
RequestRewriterRegistry with ResponseRewriterRegistry, with pre-cached
ResponseRewriterRegistry independently registered.
This is a distinctly breaking API change: all RequestRewriters must now be converted (rather easily, however) to ResponseRewriters.
Removed:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DefaultRequestRewriterRegistry.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RequestRewriter.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RequestRewriterRegistry.java
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/DefaultRequestPipeline.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/SanitizingRequestRewriter.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/old/SanitizingGadgetRewriter.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/old/SanitizingRequestRewriter.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/CaptureRewriter.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/CssRequestRewriter.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DomWalker.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriterUtils.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/old/CssRequestRewriter.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/old/HTMLContentRewriter.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpRequestHandler.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/ProxyRendererTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/SanitizingRequestRewriterTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/old/SanitizingRequestRewriterTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CssRequestRewriterTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistryTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/RewriterTestBase.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/BaseRewriterTestCase.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/CssRequestRewriterTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/HTMLContentRewriterTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpRequestHandlerTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ServletTestFixture.java
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/AbstractHttpCache.java Tue Jun 1 19:28:42 2010
@@ -17,10 +17,7 @@
*/
package org.apache.shindig.gadgets.http;
-import com.google.inject.Inject;
-
import org.apache.shindig.auth.SecurityToken;
-import org.apache.shindig.common.util.TimeSource;
import org.apache.shindig.gadgets.AuthType;
import org.apache.shindig.gadgets.uri.UriCommon;
@@ -34,20 +31,10 @@ import org.apache.shindig.gadgets.uri.Ur
* of building your own keys from scratch.
*/
public abstract class AbstractHttpCache implements HttpCache {
- private TimeSource clock = new TimeSource();
-
private static final String RESIZE_HEIGHT = UriCommon.Param.RESIZE_HEIGHT.getKey();
private static final String RESIZE_WIDTH = UriCommon.Param.RESIZE_WIDTH.getKey();
private static final String RESIZE_QUALITY = UriCommon.Param.RESIZE_QUALITY.getKey();
- /**
- * Subclasses should call this directly or be injected themselves to override.
- */
- @Inject
- public void setClock(TimeSource clock) {
- this.clock = clock;
- }
-
// Implement these methods to create a concrete HttpCache class.
protected abstract HttpResponse getResponseImpl(String key);
protected abstract void addResponseImpl(String key, HttpResponse response);
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/DefaultRequestPipeline.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/DefaultRequestPipeline.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/DefaultRequestPipeline.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/DefaultRequestPipeline.java Tue Jun 1 19:28:42 2010
@@ -21,6 +21,7 @@ import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
import com.google.inject.internal.Nullable;
+import com.google.inject.name.Named;
import org.apache.shindig.common.util.Utf8UrlCoder;
import org.apache.shindig.gadgets.GadgetException;
@@ -45,6 +46,7 @@ public class DefaultRequestPipeline impl
public DefaultRequestPipeline(HttpFetcher httpFetcher,
HttpCache httpCache,
Provider<OAuthRequest> oauthRequestProvider,
+ @Named("shindig.rewriters.response.pre-cache")
ResponseRewriterRegistry responseRewriterRegistry,
InvalidationService invalidationService,
@Nullable HttpResponseMetadataHelper metadataHelper) {
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/SanitizingRequestRewriter.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/SanitizingRequestRewriter.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/SanitizingRequestRewriter.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/SanitizingRequestRewriter.java Tue Jun 1 19:28:42 2010
@@ -24,11 +24,10 @@ import org.apache.sanselan.ImageReadExce
import org.apache.sanselan.Sanselan;
import org.apache.sanselan.common.byteSources.ByteSourceInputStream;
import org.apache.shindig.gadgets.http.HttpRequest;
-import org.apache.shindig.gadgets.http.HttpResponse;
+import org.apache.shindig.gadgets.http.HttpResponseBuilder;
import org.apache.shindig.gadgets.parse.caja.CajaCssSanitizer;
import org.apache.shindig.gadgets.rewrite.ContentRewriterFeature;
-import org.apache.shindig.gadgets.rewrite.MutableContent;
-import org.apache.shindig.gadgets.rewrite.RequestRewriter;
+import org.apache.shindig.gadgets.rewrite.ResponseRewriter;
import org.apache.shindig.gadgets.uri.ProxyUriManager;
import java.io.IOException;
@@ -40,7 +39,7 @@ import com.google.inject.Inject;
/**
* Rewriter that sanitizes CSS and image content.
*/
-public class SanitizingRequestRewriter implements RequestRewriter {
+public class SanitizingRequestRewriter implements ResponseRewriter {
private static final Logger logger =
Logger.getLogger(SanitizingRequestRewriter.class.getName());
@@ -57,29 +56,24 @@ public class SanitizingRequestRewriter i
this.proxyUriManager = proxyUriManager;
}
- public boolean rewrite(HttpRequest request, HttpResponse resp, MutableContent content) {
+ public void rewrite(HttpRequest request, HttpResponseBuilder resp) {
// Content fetched through the proxy can stipulate that it must be sanitized.
if (request.isSanitizationRequested() &&
featureConfigFactory.get(request).shouldRewriteURL(request.getUri().toString())) {
if (StringUtils.isEmpty(request.getRewriteMimeType())) {
logger.log(Level.WARNING, "Request to sanitize without content type for "
+ request.getUri());
- content.setContent("");
- return true;
+ resp.setContent("");
} else if (request.getRewriteMimeType().equalsIgnoreCase("text/css")) {
- return rewriteProxiedCss(request, resp, content);
+ rewriteProxiedCss(request, resp);
} else if (request.getRewriteMimeType().toLowerCase().startsWith("image/")) {
- return rewriteProxiedImage(request, resp, content);
+ rewriteProxiedImage(request, resp);
} else {
logger.log(Level.WARNING, "Request to sanitize unknown content type "
+ request.getRewriteMimeType()
+ " for " + request.getUri());
- content.setContent("");
- return true;
+ resp.setContent("");
}
- } else {
- // No Op
- return false;
}
}
@@ -87,8 +81,7 @@ public class SanitizingRequestRewriter i
* We don't actually rewrite the image we just ensure that it is in fact a valid
* and known image type.
*/
- private boolean rewriteProxiedImage(HttpRequest request, HttpResponse resp,
- MutableContent content) {
+ private void rewriteProxiedImage(HttpRequest request, HttpResponseBuilder resp) {
boolean imageIsSafe = false;
try {
String contentType = resp.getHeader("Content-Type");
@@ -96,30 +89,30 @@ public class SanitizingRequestRewriter i
// Unspecified or unknown image mime type.
try {
ImageFormat imageFormat = Sanselan
- .guessFormat(new ByteSourceInputStream(resp.getResponse(),
- request.getUri().getPath()));
+ .guessFormat(new ByteSourceInputStream(resp.getContentBytes(),
+ request.getUri().getPath()));
if (imageFormat == ImageFormat.IMAGE_FORMAT_UNKNOWN) {
logger.log(Level.INFO, "Unable to sanitize unknown image type "
+ request.getUri().toString());
- return true;
+ return;
}
imageIsSafe = true;
// Return false to indicate that no rewriting occurred
- return false;
+ return;
} catch (IOException ioe) {
throw new RuntimeException(ioe);
} catch (ImageReadException ire) {
// Unable to read the image so its not safe
logger.log(Level.INFO, "Unable to detect image type for " +request.getUri().toString() +
" for sanitized content", ire);
- return true;
+ return;
}
} else {
- return true;
+ return;
}
} finally {
if (!imageIsSafe) {
- content.setContent("");
+ resp.setContent("");
}
}
}
@@ -127,25 +120,23 @@ public class SanitizingRequestRewriter i
/**
* Sanitize a CSS file.
*/
- private boolean rewriteProxiedCss(HttpRequest request, HttpResponse response,
- MutableContent content) {
+ private void rewriteProxiedCss(HttpRequest request, HttpResponseBuilder resp) {
String sanitized = "";
try {
- String contentType = response.getHeader("Content-Type");
+ String contentType = resp.getHeader("Content-Type");
if (contentType == null || contentType.toLowerCase().startsWith("text/")) {
SanitizingProxyUriManager cssImageRewriter =
new SanitizingProxyUriManager(proxyUriManager, "image/*");
SanitizingProxyUriManager cssImportRewriter =
new SanitizingProxyUriManager(proxyUriManager, "text/css");
- sanitized = cssSanitizer.sanitize(content.getContent(), request.getUri(),
+ sanitized = cssSanitizer.sanitize(resp.getContent(), request.getUri(),
cssImportRewriter, cssImageRewriter);
}
-
- return true;
+ return;
} finally {
// Set sanitized content in finally to ensure it is always cleared in
// the case of errors
- content.setContent(sanitized);
+ resp.setContent(sanitized);
}
}
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/old/SanitizingGadgetRewriter.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/old/SanitizingGadgetRewriter.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/old/SanitizingGadgetRewriter.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/old/SanitizingGadgetRewriter.java Tue Jun 1 19:28:42 2010
@@ -36,7 +36,6 @@ import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
-import org.w3c.dom.UserDataHandler;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -57,10 +56,6 @@ import java.util.Set;
* rendering, OSML, etc.)
*/
public class SanitizingGadgetRewriter implements GadgetRewriter {
-
- /** Key stored as element user-data to bypass sanitization */
- private static final String BYPASS_SANITIZATION_KEY = "shindig.bypassSanitization";
-
/**
* Is the Gadget to be rendered sanitized?
* @return true if sanitization will be enabled
@@ -69,14 +64,6 @@ public class SanitizingGadgetRewriter im
return "1".equals(gadget.getContext().getParameter("sanitize"));
}
- private static UserDataHandler copyOnClone = new UserDataHandler() {
- public void handle(short operation, String key, Object data, Node src, Node dst) {
- if (operation == NODE_IMPORTED || operation == NODE_CLONED) {
- dst.setUserData(key, data, copyOnClone);
- }
- }
- };
-
private final Set<String> allowedTags;
private final Set<String> allowedAttributes;
private final CajaCssSanitizer cssSanitizer;
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/old/SanitizingRequestRewriter.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/old/SanitizingRequestRewriter.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/old/SanitizingRequestRewriter.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/old/SanitizingRequestRewriter.java Tue Jun 1 19:28:42 2010
@@ -24,11 +24,10 @@ import org.apache.sanselan.ImageReadExce
import org.apache.sanselan.Sanselan;
import org.apache.sanselan.common.byteSources.ByteSourceInputStream;
import org.apache.shindig.gadgets.http.HttpRequest;
-import org.apache.shindig.gadgets.http.HttpResponse;
+import org.apache.shindig.gadgets.http.HttpResponseBuilder;
import org.apache.shindig.gadgets.parse.caja.old.CajaCssSanitizer;
import org.apache.shindig.gadgets.rewrite.ContentRewriterFeature;
-import org.apache.shindig.gadgets.rewrite.MutableContent;
-import org.apache.shindig.gadgets.rewrite.RequestRewriter;
+import org.apache.shindig.gadgets.rewrite.ResponseRewriter;
import java.io.IOException;
import java.util.logging.Level;
@@ -39,7 +38,7 @@ import com.google.inject.Inject;
/**
* Rewriter that sanitizes CSS and image content.
*/
-public class SanitizingRequestRewriter implements RequestRewriter {
+public class SanitizingRequestRewriter implements ResponseRewriter {
private static final Logger logger =
Logger.getLogger(SanitizingRequestRewriter.class.getName());
@@ -57,7 +56,7 @@ public class SanitizingRequestRewriter i
this.sanitizingProxyingLinkRewriterFactory = sanitizingProxyingLinkRewriterFactory;
}
- public boolean rewrite(HttpRequest request, HttpResponse resp, MutableContent content) {
+ public void rewrite(HttpRequest request, HttpResponseBuilder resp) {
// Content fetched through the proxy can stipulate that it must be sanitized.
if (request.isSanitizationRequested()) {
ContentRewriterFeature.Config rewriterFeature =
@@ -65,22 +64,17 @@ public class SanitizingRequestRewriter i
if (StringUtils.isEmpty(request.getRewriteMimeType())) {
logger.log(Level.WARNING, "Request to sanitize without content type for "
+ request.getUri());
- content.setContent("");
- return true;
+ resp.setContent("");
} else if (request.getRewriteMimeType().equalsIgnoreCase("text/css")) {
- return rewriteProxiedCss(request, resp, content, rewriterFeature);
+ rewriteProxiedCss(request, resp, rewriterFeature);
} else if (request.getRewriteMimeType().toLowerCase().startsWith("image/")) {
- return rewriteProxiedImage(request, resp, content);
+ rewriteProxiedImage(request, resp);
} else {
logger.log(Level.WARNING, "Request to sanitize unknown content type "
+ request.getRewriteMimeType()
+ " for " + request.getUri());
- content.setContent("");
- return true;
+ resp.setContent("");
}
- } else {
- // No Op
- return false;
}
}
@@ -88,8 +82,7 @@ public class SanitizingRequestRewriter i
* We don't actually rewrite the image we just ensure that it is in fact a valid
* and known image type.
*/
- private boolean rewriteProxiedImage(HttpRequest request, HttpResponse resp,
- MutableContent content) {
+ private void rewriteProxiedImage(HttpRequest request, HttpResponseBuilder resp) {
boolean imageIsSafe = false;
try {
String contentType = resp.getHeader("Content-Type");
@@ -97,30 +90,30 @@ public class SanitizingRequestRewriter i
// Unspecified or unknown image mime type.
try {
ImageFormat imageFormat = Sanselan
- .guessFormat(new ByteSourceInputStream(resp.getResponse(),
- request.getUri().getPath()));
+ .guessFormat(new ByteSourceInputStream(resp.getContentBytes(),
+ request.getUri().getPath()));
if (imageFormat == ImageFormat.IMAGE_FORMAT_UNKNOWN) {
logger.log(Level.INFO, "Unable to sanitize unknown image type "
+ request.getUri().toString());
- return true;
+ return;
}
imageIsSafe = true;
// Return false to indicate that no rewriting occurred
- return false;
+ return;
} catch (IOException ioe) {
throw new RuntimeException(ioe);
} catch (ImageReadException ire) {
// Unable to read the image so its not safe
logger.log(Level.INFO, "Unable to detect image type for " +request.getUri().toString() +
" for sanitized content", ire);
- return true;
+ return;
}
} else {
- return true;
+ return;
}
} finally {
if (!imageIsSafe) {
- content.setContent("");
+ resp.setContent("");
}
}
}
@@ -128,8 +121,8 @@ public class SanitizingRequestRewriter i
/**
* Sanitize a CSS file.
*/
- private boolean rewriteProxiedCss(HttpRequest request, HttpResponse response,
- MutableContent content, ContentRewriterFeature.Config rewriterFeature) {
+ private void rewriteProxiedCss(HttpRequest request, HttpResponseBuilder response,
+ ContentRewriterFeature.Config rewriterFeature) {
String sanitized = "";
try {
String contentType = response.getHeader("Content-Type");
@@ -140,15 +133,13 @@ public class SanitizingRequestRewriter i
SanitizingProxyingLinkRewriter cssImageRewriter = sanitizingProxyingLinkRewriterFactory
.create(request.getGadget(), rewriterFeature, request
.getContainer(), "image/*", false, request.getIgnoreCache());
- sanitized = cssSanitizer.sanitize(content.getContent(), request.getUri(), cssImportRewriter,
- cssImageRewriter);
+ sanitized = cssSanitizer.sanitize(response.getContent(), request.getUri(),
+ cssImportRewriter, cssImageRewriter);
}
-
- return true;
} finally {
// Set sanitized content in finally to ensure it is always cleared in
// the case of errors
- content.setContent(sanitized);
+ response.setContent(sanitized);
}
}
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/CaptureRewriter.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/CaptureRewriter.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/CaptureRewriter.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/CaptureRewriter.java Tue Jun 1 19:28:42 2010
@@ -20,19 +20,17 @@ package org.apache.shindig.gadgets.rewri
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.http.HttpRequest;
-import org.apache.shindig.gadgets.http.HttpResponse;
+import org.apache.shindig.gadgets.http.HttpResponseBuilder;
/**
* Utility rewriter for testing.
*/
-public class CaptureRewriter implements RequestRewriter, GadgetRewriter {
+public class CaptureRewriter implements ResponseRewriter, GadgetRewriter {
private boolean rewroteView = false;
private boolean rewroteResponse = false;
- public boolean rewrite(HttpRequest request, HttpResponse original,
- MutableContent content) {
+ public void rewrite(HttpRequest request, HttpResponseBuilder original) {
rewroteResponse = true;
- return true;
}
public boolean responseWasRewritten() {
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/CssRequestRewriter.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/CssRequestRewriter.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/CssRequestRewriter.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/CssRequestRewriter.java Tue Jun 1 19:28:42 2010
@@ -23,6 +23,7 @@ import org.apache.shindig.common.uri.Uri
import org.apache.shindig.gadgets.GadgetException;
import org.apache.shindig.gadgets.http.HttpRequest;
import org.apache.shindig.gadgets.http.HttpResponse;
+import org.apache.shindig.gadgets.http.HttpResponseBuilder;
import org.apache.shindig.gadgets.parse.caja.CajaCssLexerParser;
import org.apache.shindig.gadgets.uri.ProxyUriManager;
import org.w3c.dom.Element;
@@ -44,7 +45,7 @@ import com.google.inject.Inject;
/**
* Rewrite links to referenced content in a stylesheet
*/
-public class CssRequestRewriter implements RequestRewriter {
+public class CssRequestRewriter implements ResponseRewriter {
private static final Logger logger = Logger.getLogger(CssRequestRewriter.class.getName());
@@ -60,20 +61,17 @@ public class CssRequestRewriter implemen
this.rewriterFeatureFactory = rewriterFeatureFactory;
}
- public boolean rewrite(HttpRequest request, HttpResponse original,
- MutableContent content) throws RewritingException {
+ public void rewrite(HttpRequest request, HttpResponseBuilder original) throws RewritingException {
ContentRewriterFeature.Config config = rewriterFeatureFactory.get(request);
if (!RewriterUtils.isCss(request, original)) {
- return false;
+ return;
}
- String css = content.getContent();
+ String css = original.getContent();
StringWriter sw = new StringWriter((css.length() * 110) / 100);
rewrite(new StringReader(css), request.getUri(),
new UriMaker(proxyUriManager, config), sw, false);
- content.setContent(sw.toString());
-
- return true;
+ original.setContent(sw.toString());
}
/**
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DomWalker.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DomWalker.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DomWalker.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/DomWalker.java Tue Jun 1 19:28:42 2010
@@ -25,7 +25,7 @@ import org.apache.shindig.common.uri.Uri
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.GadgetContext;
import org.apache.shindig.gadgets.http.HttpRequest;
-import org.apache.shindig.gadgets.http.HttpResponse;
+import org.apache.shindig.gadgets.http.HttpResponseBuilder;
import org.apache.shindig.gadgets.spec.GadgetSpec;
import org.apache.shindig.gadgets.uri.UriCommon.Param;
@@ -106,7 +106,7 @@ public final class DomWalker {
* will be revisited after the entire DOM tree is walked.
* The DOM tree is walked in depth-first order.
*/
- public static class Rewriter implements GadgetRewriter, RequestRewriter {
+ public static class Rewriter implements GadgetRewriter, ResponseRewriter {
private final List<Visitor> visitors;
public Rewriter(List<Visitor> visitors) {
@@ -135,13 +135,12 @@ public final class DomWalker {
rewrite(makeVisitors(gadget, gadget.getSpec().getUrl()), gadget, content);
}
- public boolean rewrite(HttpRequest request, HttpResponse original,
- MutableContent content) throws RewritingException {
- if (RewriterUtils.isHtml(request, original)) {
+ public void rewrite(HttpRequest request, HttpResponseBuilder builder)
+ throws RewritingException {
+ if (RewriterUtils.isHtml(request, builder)) {
Gadget context = makeGadget(request);
- return rewrite(makeVisitors(context, request.getGadget()), context, content);
+ rewrite(makeVisitors(context, request.getGadget()), context, builder);
}
- return false;
}
private boolean rewrite(List<Visitor> visitors, Gadget gadget, MutableContent content)
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriteModule.java Tue Jun 1 19:28:42 2010
@@ -25,6 +25,7 @@ import com.google.inject.Provides;
import com.google.inject.Singleton;
import com.google.inject.name.Named;
+import org.apache.shindig.gadgets.parse.GadgetHtmlParser;
import org.apache.shindig.gadgets.render.OpenSocialI18NGadgetRewriter;
import org.apache.shindig.gadgets.render.RenderingGadgetRewriter;
import org.apache.shindig.gadgets.render.old.SanitizingGadgetRewriter;
@@ -57,7 +58,8 @@ public class RewriteModule extends Abstr
SanitizingGadgetRewriter sanitizedRewriter,
RenderingGadgetRewriter renderingRewriter,
OpenSocialI18NGadgetRewriter i18nRewriter) {
- return ImmutableList.of(pipelineRewriter, templateRewriter, optimizingRewriter, cajaRewriter, sanitizedRewriter, renderingRewriter, i18nRewriter);
+ return ImmutableList.of(pipelineRewriter, templateRewriter, optimizingRewriter,
+ cajaRewriter, sanitizedRewriter, renderingRewriter, i18nRewriter);
}
@Provides
@@ -68,20 +70,32 @@ public class RewriteModule extends Abstr
CajaContentRewriter cajaRewriter) {
return ImmutableList.of(optimizingRewriter, cajaRewriter);
}
-
+
+ // TODO: Clean this up. Ideally we would let the ResponseRewriterRegistry
+ // binding create the concrete object instance.
@Provides
@Singleton
- protected List<RequestRewriter> provideRequestRewriters(
- HTMLContentRewriter optimizingRewriter,
- CssRequestRewriter cssRewriter,
- SanitizingRequestRewriter sanitizedRewriter) {
- return ImmutableList.of(optimizingRewriter, cssRewriter, sanitizedRewriter);
+ @Named("shindig.rewriters.response.pre-cache")
+ protected ResponseRewriterRegistry providePreCacheResponseRewritersRegistry(
+ GadgetHtmlParser parser,
+ @Named("shindig.rewriters.response.pre-cache") List<ResponseRewriter> preCached) {
+ return new DefaultResponseRewriterRegistry(preCached, parser);
}
-
+
@Provides
@Singleton
- protected List<ResponseRewriter> provideResponseRewriters(
+ @Named("shindig.rewriters.response.pre-cache")
+ protected List<ResponseRewriter> providePreCacheResponseRewriters(
BasicImageRewriter imageRewriter) {
return ImmutableList.<ResponseRewriter>of(imageRewriter);
}
+
+ @Provides
+ @Singleton
+ protected List<ResponseRewriter> provideResponseRewriters(
+ HTMLContentRewriter optimizingRewriter,
+ CssRequestRewriter cssRewriter,
+ SanitizingRequestRewriter sanitizedRewriter) {
+ return ImmutableList.of(optimizingRewriter, cssRewriter, sanitizedRewriter);
+ }
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriterUtils.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriterUtils.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriterUtils.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/RewriterUtils.java Tue Jun 1 19:28:42 2010
@@ -20,6 +20,7 @@ package org.apache.shindig.gadgets.rewri
import org.apache.shindig.gadgets.http.HttpRequest;
import org.apache.shindig.gadgets.http.HttpResponse;
+import org.apache.shindig.gadgets.http.HttpResponseBuilder;
/**
* Various utility functions used by rewriters
@@ -31,16 +32,31 @@ public class RewriterUtils {
String mimeType = getMimeType(request, original);
return mimeType != null && (mimeType.contains("html"));
}
+
+ public static boolean isHtml(HttpRequest request, HttpResponseBuilder original) {
+ String mimeType = getMimeType(request, original);
+ return mimeType != null && (mimeType.contains("html"));
+ }
public static boolean isCss(HttpRequest request, HttpResponse original) {
String mimeType = getMimeType(request, original);
return mimeType != null && mimeType.contains("css");
}
+
+ public static boolean isCss(HttpRequest request, HttpResponseBuilder original) {
+ String mimeType = getMimeType(request, original);
+ return mimeType != null && mimeType.contains("css");
+ }
public static boolean isJavascript(HttpRequest request, HttpResponse original) {
String mimeType = getMimeType(request, original);
return mimeType != null && mimeType.contains("javascript");
}
+
+ public static boolean isJavascript(HttpRequest request, HttpResponseBuilder original) {
+ String mimeType = getMimeType(request, original);
+ return mimeType != null && mimeType.contains("javascript");
+ }
public static String getMimeType(HttpRequest request, HttpResponse original) {
String mimeType = request.getRewriteMimeType();
@@ -49,4 +65,12 @@ public class RewriterUtils {
}
return mimeType != null ? mimeType.toLowerCase() : null;
}
+
+ public static String getMimeType(HttpRequest request, HttpResponseBuilder original) {
+ String mimeType = request.getRewriteMimeType();
+ if (mimeType == null) {
+ mimeType = original.getHeader("Content-Type");
+ }
+ return mimeType != null ? mimeType.toLowerCase() : null;
+ }
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/old/CssRequestRewriter.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/old/CssRequestRewriter.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/old/CssRequestRewriter.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/old/CssRequestRewriter.java Tue Jun 1 19:28:42 2010
@@ -23,10 +23,10 @@ import org.apache.shindig.common.uri.Uri
import org.apache.shindig.gadgets.GadgetException;
import org.apache.shindig.gadgets.http.HttpRequest;
import org.apache.shindig.gadgets.http.HttpResponse;
+import org.apache.shindig.gadgets.http.HttpResponseBuilder;
import org.apache.shindig.gadgets.parse.caja.CajaCssLexerParser;
import org.apache.shindig.gadgets.rewrite.ContentRewriterFeature;
-import org.apache.shindig.gadgets.rewrite.MutableContent;
-import org.apache.shindig.gadgets.rewrite.RequestRewriter;
+import org.apache.shindig.gadgets.rewrite.ResponseRewriter;
import org.apache.shindig.gadgets.rewrite.RewriterUtils;
import org.apache.shindig.gadgets.rewrite.RewritingException;
import org.apache.shindig.gadgets.rewrite.old.LinkRewriter;
@@ -50,7 +50,7 @@ import com.google.inject.Inject;
/**
* Rewrite links to referenced content in a stylesheet
*/
-public class CssRequestRewriter implements RequestRewriter {
+public class CssRequestRewriter implements ResponseRewriter {
private static final Logger logger = Logger.getLogger(CssRequestRewriter.class.getName());
@@ -67,20 +67,18 @@ public class CssRequestRewriter implemen
this.proxyingLinkRewriterFactory = proxyingLinkRewriterFactory;
}
- public boolean rewrite(HttpRequest request, HttpResponse original,
- MutableContent content) throws RewritingException {
- if (!RewriterUtils.isCss(request, original)) {
- return false;
+ public void rewrite(HttpRequest request, HttpResponseBuilder response)
+ throws RewritingException {
+ if (!RewriterUtils.isCss(request, response)) {
+ return;
}
ContentRewriterFeature.Config feature = rewriterFeatureFactory.get(request);
- String css = content.getContent();
+ String css = response.getContent();
StringWriter sw = new StringWriter((css.length() * 110) / 100);
rewrite(new StringReader(css), request.getUri(),
proxyingLinkRewriterFactory.create(request.getGadget(), feature,
request.getContainer(), false, request.getIgnoreCache()), sw, false);
- content.setContent(sw.toString());
-
- return true;
+ response.setContent(sw.toString());
}
/**
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/old/HTMLContentRewriter.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/old/HTMLContentRewriter.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/old/HTMLContentRewriter.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/old/HTMLContentRewriter.java Tue Jun 1 19:28:42 2010
@@ -21,11 +21,11 @@ import org.apache.shindig.common.uri.Uri
import org.apache.shindig.common.xml.DomUtil;
import org.apache.shindig.gadgets.Gadget;
import org.apache.shindig.gadgets.http.HttpRequest;
-import org.apache.shindig.gadgets.http.HttpResponse;
+import org.apache.shindig.gadgets.http.HttpResponseBuilder;
import org.apache.shindig.gadgets.rewrite.ContentRewriterFeature;
import org.apache.shindig.gadgets.rewrite.GadgetRewriter;
import org.apache.shindig.gadgets.rewrite.MutableContent;
-import org.apache.shindig.gadgets.rewrite.RequestRewriter;
+import org.apache.shindig.gadgets.rewrite.ResponseRewriter;
import org.apache.shindig.gadgets.rewrite.RewriterUtils;
import org.apache.shindig.gadgets.rewrite.RewritingException;
import org.apache.shindig.gadgets.spec.View;
@@ -52,7 +52,7 @@ import com.google.inject.Inject;
* - Moving all style into head and converting @imports into links
* - Proxying referred content of images and embeds
*/
-public class HTMLContentRewriter implements GadgetRewriter, RequestRewriter {
+public class HTMLContentRewriter implements GadgetRewriter, ResponseRewriter {
private final static String JS_MIME_TYPE = "text/javascript";
@@ -79,15 +79,12 @@ public class HTMLContentRewriter impleme
this.proxyingLinkRewriterFactory = proxyingLinkRewriterFactory;
}
- public boolean rewrite(HttpRequest request, HttpResponse original,
- MutableContent content) throws RewritingException {
- if (RewriterUtils.isHtml(request, original)) {
+ public void rewrite(HttpRequest request, HttpResponseBuilder response) throws RewritingException {
+ if (RewriterUtils.isHtml(request, response)) {
ContentRewriterFeature.Config feature = rewriterFeatureFactory.get(request);
- return rewriteImpl(feature, request.getGadget(), request.getUri(), content,
+ rewriteImpl(feature, request.getGadget(), request.getUri(), response,
request.getContainer(), false, request.getIgnoreCache());
}
-
- return false;
}
public void rewrite(Gadget gadget, MutableContent content) throws RewritingException {
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java Tue Jun 1 19:28:42 2010
@@ -30,7 +30,7 @@ import org.apache.shindig.gadgets.Gadget
import org.apache.shindig.gadgets.http.HttpRequest;
import org.apache.shindig.gadgets.http.HttpResponse;
import org.apache.shindig.gadgets.http.RequestPipeline;
-import org.apache.shindig.gadgets.rewrite.RequestRewriterRegistry;
+import org.apache.shindig.gadgets.rewrite.ResponseRewriterRegistry;
import org.apache.shindig.gadgets.rewrite.RewritingException;
import org.apache.shindig.gadgets.uri.ConcatUriManager;
import org.apache.shindig.gadgets.uri.UriCommon.Param;
@@ -63,7 +63,7 @@ public class ConcatProxyServlet extends
private RequestPipeline requestPipeline;
private ConcatUriManager concatUriManager;
- private RequestRewriterRegistry contentRewriterRegistry;
+ private ResponseRewriterRegistry contentRewriterRegistry;
@Inject
public void setRequestPipeline(RequestPipeline requestPipeline) {
@@ -76,7 +76,7 @@ public class ConcatProxyServlet extends
}
@Inject
- public void setContentRewriterRegistry(RequestRewriterRegistry contentRewriterRegistry) {
+ public void setContentRewriterRegistry(ResponseRewriterRegistry contentRewriterRegistry) {
this.contentRewriterRegistry = contentRewriterRegistry;
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpRequestHandler.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpRequestHandler.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpRequestHandler.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpRequestHandler.java Tue Jun 1 19:28:42 2010
@@ -29,7 +29,7 @@ import org.apache.shindig.gadgets.http.H
import org.apache.shindig.gadgets.http.HttpResponse;
import org.apache.shindig.gadgets.http.RequestPipeline;
import org.apache.shindig.gadgets.oauth.OAuthArguments;
-import org.apache.shindig.gadgets.rewrite.RequestRewriterRegistry;
+import org.apache.shindig.gadgets.rewrite.ResponseRewriterRegistry;
import org.apache.shindig.gadgets.rewrite.RewritingException;
import org.apache.shindig.protocol.BaseRequestItem;
import org.apache.shindig.protocol.Operation;
@@ -95,11 +95,11 @@ public class HttpRequestHandler {
static final Set<String> BAD_HEADERS = ImmutableSet.of("HOST", "ACCEPT-ENCODING");
private final RequestPipeline requestPipeline;
- private final RequestRewriterRegistry contentRewriterRegistry;
+ private final ResponseRewriterRegistry contentRewriterRegistry;
@Inject
public HttpRequestHandler(RequestPipeline requestPipeline,
- RequestRewriterRegistry contentRewriterRegistry) {
+ ResponseRewriterRegistry contentRewriterRegistry) {
this.requestPipeline = requestPipeline;
this.contentRewriterRegistry = contentRewriterRegistry;
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/MakeRequestHandler.java Tue Jun 1 19:28:42 2010
@@ -36,7 +36,7 @@ import org.apache.shindig.gadgets.http.H
import org.apache.shindig.gadgets.http.HttpResponse;
import org.apache.shindig.gadgets.http.RequestPipeline;
import org.apache.shindig.gadgets.oauth.OAuthArguments;
-import org.apache.shindig.gadgets.rewrite.RequestRewriterRegistry;
+import org.apache.shindig.gadgets.rewrite.ResponseRewriterRegistry;
import org.apache.shindig.gadgets.rewrite.RewritingException;
import java.io.IOException;
@@ -68,11 +68,11 @@ public class MakeRequestHandler extends
public static final String AUTHZ_PARAM = "authz";
private final RequestPipeline requestPipeline;
- private final RequestRewriterRegistry contentRewriterRegistry;
+ private final ResponseRewriterRegistry contentRewriterRegistry;
@Inject
public MakeRequestHandler(RequestPipeline requestPipeline,
- RequestRewriterRegistry contentRewriterRegistry) {
+ ResponseRewriterRegistry contentRewriterRegistry) {
this.requestPipeline = requestPipeline;
this.contentRewriterRegistry = contentRewriterRegistry;
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java Tue Jun 1 19:28:42 2010
@@ -31,7 +31,7 @@ import org.apache.shindig.gadgets.Locked
import org.apache.shindig.gadgets.http.HttpRequest;
import org.apache.shindig.gadgets.http.HttpResponse;
import org.apache.shindig.gadgets.http.RequestPipeline;
-import org.apache.shindig.gadgets.rewrite.RequestRewriterRegistry;
+import org.apache.shindig.gadgets.rewrite.ResponseRewriterRegistry;
import org.apache.shindig.gadgets.rewrite.RewritingException;
import org.apache.shindig.gadgets.uri.ProxyUriManager;
@@ -55,13 +55,13 @@ public class ProxyHandler extends ProxyB
private final RequestPipeline requestPipeline;
private final LockedDomainService lockedDomainService;
- private final RequestRewriterRegistry contentRewriterRegistry;
+ private final ResponseRewriterRegistry contentRewriterRegistry;
private final ProxyUriManager proxyUriManager;
@Inject
public ProxyHandler(RequestPipeline requestPipeline,
LockedDomainService lockedDomainService,
- RequestRewriterRegistry contentRewriterRegistry,
+ ResponseRewriterRegistry contentRewriterRegistry,
ProxyUriManager proxyUriManager) {
this.requestPipeline = requestPipeline;
this.lockedDomainService = lockedDomainService;
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java Tue Jun 1 19:28:42 2010
@@ -30,8 +30,6 @@ import com.google.common.collect.Maps;
import org.apache.shindig.auth.BasicSecurityToken;
import org.apache.shindig.auth.SecurityToken;
import org.apache.shindig.common.uri.Uri;
-import org.apache.shindig.common.util.FakeTimeSource;
-import org.apache.shindig.common.util.TimeSource;
import org.apache.shindig.gadgets.AuthType;
import org.apache.shindig.gadgets.oauth.OAuthArguments;
import org.apache.shindig.gadgets.spec.RequestAuthenticationInfo;
@@ -347,10 +345,6 @@ public class AbstractHttpCacheTest {
.create();
cache.map.put(key, response);
- TimeSource fakeClock = new FakeTimeSource(expiration + 60L);
-
- cache.setClock(fakeClock);
-
// The cache itself still hold and return staled value,
// caller responsible to decide what to do about it
assertEquals(response, cache.removeResponse(request));
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/ProxyRendererTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/ProxyRendererTest.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/ProxyRendererTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/ProxyRendererTest.java Tue Jun 1 19:28:42 2010
@@ -226,11 +226,10 @@ public class ProxyRendererTest {
@Test
public void appendUserAgent() throws Exception {
String expectedUA = USER_AGENT + " Shindig";
- HttpRequest request = new HttpRequest(EXPECTED_PROXIED_HTML_HREF);
HttpResponse response = new HttpResponse(PROXIED_HTML_CONTENT);
pipeline.plainResponses.put(EXPECTED_PROXIED_HTML_HREF, response);
- String content = proxyRenderer.render(makeHrefGadget("none"));
+ proxyRenderer.render(makeHrefGadget("none"));
String actualUA = pipeline.lastHttpRequest.getHeader("User-Agent");
assertEquals(expectedUA, actualUA);
}
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/SanitizingRequestRewriterTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/SanitizingRequestRewriterTest.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/SanitizingRequestRewriterTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/SanitizingRequestRewriterTest.java Tue Jun 1 19:28:42 2010
@@ -30,8 +30,7 @@ import org.apache.shindig.gadgets.parse.
import org.apache.shindig.gadgets.parse.caja.CajaCssSanitizer;
import org.apache.shindig.gadgets.rewrite.RewriterTestBase;
import org.apache.shindig.gadgets.rewrite.ContentRewriterFeature;
-import org.apache.shindig.gadgets.rewrite.MutableContent;
-import org.apache.shindig.gadgets.rewrite.RequestRewriter;
+import org.apache.shindig.gadgets.rewrite.ResponseRewriter;
import org.apache.shindig.gadgets.uri.PassthruManager;
import org.junit.Test;
@@ -43,17 +42,18 @@ public class SanitizingRequestRewriterTe
private String rewrite(HttpRequest request, HttpResponse response) throws Exception {
request.setSanitizationRequested(true);
- RequestRewriter rewriter = createRewriter(Collections.<String>emptySet(),
+ ResponseRewriter rewriter = createRewriter(Collections.<String>emptySet(),
Collections.<String>emptySet());
- MutableContent mc = new MutableContent(parser, response);
- if (!rewriter.rewrite(request, response, mc)) {
+ HttpResponseBuilder hrb = new HttpResponseBuilder(parser, response);
+ rewriter.rewrite(request, hrb);
+ if (hrb.getNumChanges() == 0) {
return null;
}
- return mc.getContent();
+ return hrb.getContent();
}
- private RequestRewriter createRewriter(Set<String> tags, Set<String> attributes) {
+ private ResponseRewriter createRewriter(Set<String> tags, Set<String> attributes) {
ContentRewriterFeature.Factory rewriterFeatureFactory =
new ContentRewriterFeature.Factory(null,
new ContentRewriterFeature.DefaultConfig(
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/old/SanitizingRequestRewriterTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/old/SanitizingRequestRewriterTest.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/old/SanitizingRequestRewriterTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/render/old/SanitizingRequestRewriterTest.java Tue Jun 1 19:28:42 2010
@@ -31,8 +31,7 @@ import org.apache.shindig.gadgets.parse.
import org.apache.shindig.gadgets.render.old.DefaultSanitizingProxyingLinkRewriterFactory;
import org.apache.shindig.gadgets.render.old.SanitizingRequestRewriter;
import org.apache.shindig.gadgets.rewrite.ContentRewriterFeature;
-import org.apache.shindig.gadgets.rewrite.MutableContent;
-import org.apache.shindig.gadgets.rewrite.RequestRewriter;
+import org.apache.shindig.gadgets.rewrite.ResponseRewriter;
import org.apache.shindig.gadgets.rewrite.old.BaseRewriterTestCase;
import org.junit.Test;
@@ -44,17 +43,18 @@ public class SanitizingRequestRewriterTe
private String rewrite(HttpRequest request, HttpResponse response) throws Exception {
request.setSanitizationRequested(true);
- RequestRewriter rewriter = createRewriter(Collections.<String>emptySet(),
+ ResponseRewriter rewriter = createRewriter(Collections.<String>emptySet(),
Collections.<String>emptySet());
- MutableContent mc = new MutableContent(parser, response);
- if (!rewriter.rewrite(request, response, mc)) {
+ HttpResponseBuilder hrb = new HttpResponseBuilder(parser, response);
+ rewriter.rewrite(request, hrb);
+ if (hrb.getNumChanges() == 0) {
return null;
}
- return mc.getContent();
+ return hrb.getContent();
}
- private RequestRewriter createRewriter(Set<String> tags, Set<String> attributes) {
+ private ResponseRewriter createRewriter(Set<String> tags, Set<String> attributes) {
ContentRewriterFeature.Factory rewriterFeatureFactory =
new ContentRewriterFeature.Factory(null,
new ContentRewriterFeature.DefaultConfig(".*", "", "HTTP", "embed,img,script,link,style", "false", "false"));
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CssRequestRewriterTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CssRequestRewriterTest.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CssRequestRewriterTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CssRequestRewriterTest.java Tue Jun 1 19:28:42 2010
@@ -18,13 +18,11 @@
package org.apache.shindig.gadgets.rewrite;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.gadgets.http.HttpRequest;
-import org.apache.shindig.gadgets.http.HttpResponse;
import org.apache.shindig.gadgets.http.HttpResponseBuilder;
import org.apache.shindig.gadgets.parse.caja.CajaCssLexerParser;
import org.apache.shindig.gadgets.uri.PassthruManager;
@@ -89,14 +87,12 @@ public class CssRequestRewriterTest exte
request.setMethod("GET");
request.setGadget(SPEC_URL);
- HttpResponse response = new HttpResponseBuilder().setHeader("Content-Type", "text/css")
- .setResponseString(content).create();
-
- MutableContent mc = new MutableContent(null, content);
- rewriter.rewrite(request, response, mc);
+ HttpResponseBuilder response = new HttpResponseBuilder().setHeader("Content-Type", "text/css")
+ .setResponseString(content);
+ rewriter.rewrite(request, response);
assertEquals(StringUtils.deleteWhitespace(expected),
- StringUtils.deleteWhitespace(mc.getContent()));
+ StringUtils.deleteWhitespace(response.getContent()));
}
@Test
@@ -110,14 +106,12 @@ public class CssRequestRewriterTest exte
request.setMethod("GET");
request.setGadget(SPEC_URL);
- HttpResponse response = new HttpResponseBuilder().setHeader("Content-Type", "text/css")
- .setResponseString(content).create();
-
- MutableContent mc = new MutableContent(null, content);
- rewriterNoOverrideExpires.rewrite(request, response, mc);
+ HttpResponseBuilder response = new HttpResponseBuilder().setHeader("Content-Type", "text/css")
+ .setResponseString(content);
+ rewriterNoOverrideExpires.rewrite(request, response);
assertEquals(StringUtils.deleteWhitespace(expected),
- StringUtils.deleteWhitespace(mc.getContent()));
+ StringUtils.deleteWhitespace(response.getContent()));
}
@Test
@@ -132,14 +126,12 @@ public class CssRequestRewriterTest exte
request.setGadget(SPEC_URL);
request.setIgnoreCache(true);
- HttpResponse response = new HttpResponseBuilder().setHeader("Content-Type", "text/css")
- .setResponseString(content).create();
-
- MutableContent mc = new MutableContent(null, content);
- rewriter.rewrite(request, response, mc);
+ HttpResponseBuilder response = new HttpResponseBuilder().setHeader("Content-Type", "text/css")
+ .setResponseString(content);
+ rewriter.rewrite(request, response);
assertEquals(StringUtils.deleteWhitespace(expected),
- StringUtils.deleteWhitespace(mc.getContent()));
+ StringUtils.deleteWhitespace(response.getContent()));
}
@Test
@@ -158,33 +150,33 @@ public class CssRequestRewriterTest exte
request.setGadget(SPEC_URL);
request.setContainer(MOCK_CONTAINER);
- HttpResponse response = new HttpResponseBuilder().setHeader("Content-Type", "text/css")
- .setResponseString(content).create();
+ HttpResponseBuilder response = new HttpResponseBuilder().setHeader("Content-Type", "text/css")
+ .setResponseString(content);
- MutableContent mc = new MutableContent(null, content);
- rewriter.rewrite(request, response, mc);
+ rewriter.rewrite(request, response);
assertEquals(StringUtils.deleteWhitespace(expected),
- StringUtils.deleteWhitespace(mc.getContent()));
+ StringUtils.deleteWhitespace(response.getContent()));
}
@Test
public void testNoRewriteUnknownMimeType() throws Exception {
- MutableContent mc = control.createMock(MutableContent.class);
HttpRequest req = control.createMock(HttpRequest.class);
EasyMock.expect(req.getRewriteMimeType()).andReturn("unknown");
control.replay();
- assertFalse(rewriter.rewrite(req, fakeResponse, mc));
+ int changesBefore = fakeResponse.getNumChanges();
+ rewriter.rewrite(req, fakeResponse);
+ assertEquals(changesBefore, fakeResponse.getNumChanges());
control.verify();
}
private void validateRewritten(String content, Uri base, String expected) throws Exception {
- MutableContent mc = new MutableContent(null, content);
+ HttpResponseBuilder response = new HttpResponseBuilder().setHeader("Content-Type", "text/css");
+ response.setContent(content);
HttpRequest request = new HttpRequest(base);
- rewriter.rewrite(request,
- new HttpResponseBuilder().setHeader("Content-Type", "text/css").create(), mc);
+ rewriter.rewrite(request, response);
assertEquals(StringUtils.deleteWhitespace(expected),
- StringUtils.deleteWhitespace(mc.getContent()));
+ StringUtils.deleteWhitespace(response.getContent()));
}
private void validateRewritten(String content, String expected) throws Exception {
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistryTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistryTest.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistryTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/DefaultContentRewriterRegistryTest.java Tue Jun 1 19:28:42 2010
@@ -38,16 +38,16 @@ import com.google.common.collect.Lists;
public class DefaultContentRewriterRegistryTest extends BaseRewriterTestCase {
private static final Uri SPEC_URL = Uri.parse("http://example.org/gadget.xml");
private List<CaptureRewriter> rewriters;
- private List<RequestRewriter> contentRewriters;
- private RequestRewriterRegistry registry;
+ private List<ResponseRewriter> contentRewriters;
+ private ResponseRewriterRegistry registry;
@Before
@Override
public void setUp() throws Exception {
super.setUp();
rewriters = Lists.newArrayList(new CaptureRewriter(), new CaptureRewriter());
- contentRewriters = Lists.<RequestRewriter>newArrayList(rewriters);
- registry = new DefaultRequestRewriterRegistry(contentRewriters, parser);
+ contentRewriters = Lists.<ResponseRewriter>newArrayList(rewriters);
+ registry = new DefaultResponseRewriterRegistry(contentRewriters, parser);
}
@Test
@@ -72,18 +72,18 @@ public class DefaultContentRewriterRegis
*/
@Test
public void testNoDecodeHttpResponseForUnRewriteableMimeTypes() throws Exception {
- List<RequestRewriter> rewriters = Lists.newArrayList();
+ List<ResponseRewriter> rewriters = Lists.newArrayList();
rewriters.add(injector.getInstance(HTMLContentRewriter.class));
rewriters.add(injector.getInstance(CssRequestRewriter.class));
- registry = new DefaultRequestRewriterRegistry(rewriters, parser);
+ registry = new DefaultResponseRewriterRegistry(rewriters, parser);
HttpRequest req = control.createMock(HttpRequest.class);
EasyMock.expect(req.getRewriteMimeType()).andStubReturn("unknown");
control.replay();
- HttpResponse rewritten = registry.rewriteHttpResponse(req, fakeResponse);
+ HttpResponse rewritten = registry.rewriteHttpResponse(req, fakeResponse.create());
// Assert that response is untouched
- assertSame(rewritten, fakeResponse);
+ assertSame(rewritten, fakeResponse.create());
control.verify();
}
}
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/RewriterTestBase.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/RewriterTestBase.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/RewriterTestBase.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/RewriterTestBase.java Tue Jun 1 19:28:42 2010
@@ -65,7 +65,7 @@ public abstract class RewriterTestBase {
protected ContentRewriterFeature.Factory rewriterFeatureFactory;
protected GadgetHtmlParser parser;
protected Injector injector;
- protected HttpResponse fakeResponse;
+ protected HttpResponseBuilder fakeResponse;
protected IMocksControl control;
@Before
@@ -78,7 +78,7 @@ public abstract class RewriterTestBase {
injector = Guice.createInjector(getParseModule(), new PropertiesModule(), new TestModule());
parser = injector.getInstance(GadgetHtmlParser.class);
fakeResponse = new HttpResponseBuilder().setHeader("Content-Type", "unknown")
- .setResponse(new byte[]{ (byte)0xFE, (byte)0xFF}).create();
+ .setResponse(new byte[]{ (byte)0xFE, (byte)0xFF});
control = EasyMock.createControl();
}
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/BaseRewriterTestCase.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/BaseRewriterTestCase.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/BaseRewriterTestCase.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/BaseRewriterTestCase.java Tue Jun 1 19:28:42 2010
@@ -76,7 +76,7 @@ public abstract class BaseRewriterTestCa
protected LinkRewriter defaultLinkRewriterNoCacheAndDebug;
protected GadgetHtmlParser parser;
protected Injector injector;
- protected HttpResponse fakeResponse;
+ protected HttpResponseBuilder fakeResponse;
protected ContentRewriterUris rewriterUris;
protected IMocksControl control;
protected ContentRewriterUris defaultContainerRewriterUris;
@@ -107,7 +107,7 @@ public abstract class BaseRewriterTestCa
injector = Guice.createInjector(getParseModule(), new PropertiesModule(), new TestModule());
parser = injector.getInstance(GadgetHtmlParser.class);
fakeResponse = new HttpResponseBuilder().setHeader("Content-Type", "unknown")
- .setResponse(new byte[]{ (byte)0xFE, (byte)0xFF}).create();
+ .setResponse(new byte[]{ (byte)0xFE, (byte)0xFF});
ContainerConfig config = new AbstractContainerConfig() {
@Override
@@ -287,7 +287,6 @@ public abstract class BaseRewriterTestCa
protected void configure() {
bind(RequestPipeline.class).toInstance(new RequestPipeline() {
public HttpResponse execute(HttpRequest request) { return null; }
- public void normalizeProtocol(HttpRequest request) throws GadgetException {}
});
bind(GadgetSpecFactory.class).toInstance(new GadgetSpecFactory() {
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/CssRequestRewriterTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/CssRequestRewriterTest.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/CssRequestRewriterTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/CssRequestRewriterTest.java Tue Jun 1 19:28:42 2010
@@ -18,17 +18,14 @@
package org.apache.shindig.gadgets.rewrite.old;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.gadgets.http.HttpRequest;
-import org.apache.shindig.gadgets.http.HttpResponse;
import org.apache.shindig.gadgets.http.HttpResponseBuilder;
import org.apache.shindig.gadgets.parse.caja.CajaCssLexerParser;
import org.apache.shindig.gadgets.rewrite.ContentRewriterFeature;
-import org.apache.shindig.gadgets.rewrite.MutableContent;
import org.apache.shindig.gadgets.rewrite.old.DefaultProxyingLinkRewriterFactory;
import org.apache.shindig.gadgets.rewrite.old.HTMLContentRewriter;
import org.apache.shindig.gadgets.rewrite.old.LinkRewriter;
@@ -81,14 +78,13 @@ public class CssRequestRewriterTest exte
request.setMethod("GET");
request.setGadget(SPEC_URL);
- HttpResponse response = new HttpResponseBuilder().setHeader("Content-Type", "text/css")
- .setResponseString(content).create();
+ HttpResponseBuilder response = new HttpResponseBuilder().setHeader("Content-Type", "text/css")
+ .setResponseString(content);
- MutableContent mc = new MutableContent(null, content);
- rewriter.rewrite(request, response, mc);
+ rewriter.rewrite(request, response);
assertEquals(StringUtils.deleteWhitespace(expected),
- StringUtils.deleteWhitespace(mc.getContent()));
+ StringUtils.deleteWhitespace(response.getContent()));
}
@Test
@@ -102,14 +98,13 @@ public class CssRequestRewriterTest exte
request.setMethod("GET");
request.setGadget(SPEC_URL);
- HttpResponse response = new HttpResponseBuilder().setHeader("Content-Type", "text/css")
- .setResponseString(content).create();
+ HttpResponseBuilder response = new HttpResponseBuilder().setHeader("Content-Type", "text/css")
+ .setResponseString(content);
- MutableContent mc = new MutableContent(null, content);
- rewriterNoOverrideExpires.rewrite(request, response, mc);
+ rewriterNoOverrideExpires.rewrite(request, response);
assertEquals(StringUtils.deleteWhitespace(expected),
- StringUtils.deleteWhitespace(mc.getContent()));
+ StringUtils.deleteWhitespace(response.getContent()));
}
@Test
@@ -124,14 +119,13 @@ public class CssRequestRewriterTest exte
request.setGadget(SPEC_URL);
request.setIgnoreCache(true);
- HttpResponse response = new HttpResponseBuilder().setHeader("Content-Type", "text/css")
- .setResponseString(content).create();
+ HttpResponseBuilder response = new HttpResponseBuilder().setHeader("Content-Type", "text/css")
+ .setResponseString(content);
- MutableContent mc = new MutableContent(null, content);
- rewriter.rewrite(request, response, mc);
+ rewriter.rewrite(request, response);
assertEquals(StringUtils.deleteWhitespace(expected),
- StringUtils.deleteWhitespace(mc.getContent()));
+ StringUtils.deleteWhitespace(response.getContent()));
}
@Test
@@ -142,39 +136,38 @@ public class CssRequestRewriterTest exte
getResourceAsStream("org/apache/shindig/gadgets/rewrite/old/rewritebasic-expected.css"));
expected = replaceDefaultWithMockServer(expected);
- HttpRequest request = new HttpRequest(Uri.parse("http://www.example.org/path/rewritebasic.css"));
+ HttpRequest request =
+ new HttpRequest(Uri.parse("http://www.example.org/path/rewritebasic.css"));
request.setMethod("GET");
request.setGadget(SPEC_URL);
request.setContainer(MOCK_CONTAINER);
- HttpResponse response = new HttpResponseBuilder().setHeader("Content-Type", "text/css")
- .setResponseString(content).create();
+ HttpResponseBuilder response = new HttpResponseBuilder().setHeader("Content-Type", "text/css")
+ .setResponseString(content);
- MutableContent mc = new MutableContent(null, content);
- rewriter.rewrite(request, response, mc);
+ rewriter.rewrite(request, response);
assertEquals(StringUtils.deleteWhitespace(expected),
- StringUtils.deleteWhitespace(mc.getContent()));
+ StringUtils.deleteWhitespace(response.getContent()));
}
@Test
public void testNoRewriteUnknownMimeType() throws Exception {
- MutableContent mc = control.createMock(MutableContent.class);
HttpRequest req = control.createMock(HttpRequest.class);
EasyMock.expect(req.getRewriteMimeType()).andReturn("unknown");
control.replay();
- assertFalse(rewriter.rewrite(req, fakeResponse, mc));
+ rewriter.rewrite(req, fakeResponse);
control.verify();
}
private void validateRewritten(String content, Uri base,
LinkRewriter linkRewriter, String expected) throws Exception{
- MutableContent mc = new MutableContent(null, content);
HttpRequest request = new HttpRequest(base);
- rewriter.rewrite(request,
- new HttpResponseBuilder().setHeader("Content-Type", "text/css").create(), mc);
+ HttpResponseBuilder response = new HttpResponseBuilder().setHeader("Content-Type", "text/css");
+ response.setContent(content);
+ rewriter.rewrite(request, response);
assertEquals(StringUtils.deleteWhitespace(expected),
- StringUtils.deleteWhitespace(mc.getContent()));
+ StringUtils.deleteWhitespace(response.getContent()));
}
private void validateRewritten(String content, String expected) throws Exception {
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/HTMLContentRewriterTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/HTMLContentRewriterTest.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/HTMLContentRewriterTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/old/HTMLContentRewriterTest.java Tue Jun 1 19:28:42 2010
@@ -403,11 +403,10 @@ public class HTMLContentRewriterTest ext
@Test
public void testNoRewriteUnknownMimeType() throws Exception {
- MutableContent mc = control.createMock(MutableContent.class);
HttpRequest req = control.createMock(HttpRequest.class);
EasyMock.expect(req.getRewriteMimeType()).andReturn("unknown");
control.replay();
- assertFalse(rewriter.rewrite(req, fakeResponse, mc));
+ rewriter.rewrite(req, fakeResponse);
control.verify();
}
}
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpRequestHandlerTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpRequestHandlerTest.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpRequestHandlerTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpRequestHandlerTest.java Tue Jun 1 19:28:42 2010
@@ -38,9 +38,9 @@ import org.apache.shindig.gadgets.http.H
import org.apache.shindig.gadgets.http.RequestPipeline;
import org.apache.shindig.gadgets.oauth.OAuthArguments;
import org.apache.shindig.gadgets.rewrite.CaptureRewriter;
-import org.apache.shindig.gadgets.rewrite.DefaultRequestRewriterRegistry;
-import org.apache.shindig.gadgets.rewrite.RequestRewriter;
-import org.apache.shindig.gadgets.rewrite.RequestRewriterRegistry;
+import org.apache.shindig.gadgets.rewrite.DefaultResponseRewriterRegistry;
+import org.apache.shindig.gadgets.rewrite.ResponseRewriter;
+import org.apache.shindig.gadgets.rewrite.ResponseRewriterRegistry;
import org.apache.shindig.protocol.DefaultHandlerRegistry;
import org.apache.shindig.protocol.HandlerExecutionListener;
import org.apache.shindig.protocol.HandlerRegistry;
@@ -73,8 +73,8 @@ public class HttpRequestHandlerTest exte
private final RequestPipeline pipeline = mock(RequestPipeline.class);
private final CaptureRewriter rewriter = new CaptureRewriter();
- private final RequestRewriterRegistry rewriterRegistry
- = new DefaultRequestRewriterRegistry(Arrays.<RequestRewriter>asList(rewriter), null);
+ private final ResponseRewriterRegistry rewriterRegistry
+ = new DefaultResponseRewriterRegistry(Arrays.<ResponseRewriter>asList(rewriter), null);
private HandlerRegistry registry;
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java Tue Jun 1 19:28:42 2010
@@ -348,6 +348,6 @@ public class ProxyHandlerTest extends Se
@Test
public void testMimeMatchVarySupport() throws Exception {
// We use CaptureRewrite which always rewrite - always set encoding
- expectMime("image/*", "image/gif", "image/gif; charset=UTF-8");
+ expectMime("image/*", "image/gif", "image/gif");
}
}
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ServletTestFixture.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ServletTestFixture.java?rev=950226&r1=950225&r2=950226&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ServletTestFixture.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ServletTestFixture.java Tue Jun 1 19:28:42 2010
@@ -23,9 +23,9 @@ import org.apache.shindig.common.servlet
import org.apache.shindig.gadgets.LockedDomainService;
import org.apache.shindig.gadgets.http.RequestPipeline;
import org.apache.shindig.gadgets.rewrite.CaptureRewriter;
-import org.apache.shindig.gadgets.rewrite.DefaultRequestRewriterRegistry;
-import org.apache.shindig.gadgets.rewrite.RequestRewriter;
-import org.apache.shindig.gadgets.rewrite.RequestRewriterRegistry;
+import org.apache.shindig.gadgets.rewrite.DefaultResponseRewriterRegistry;
+import org.apache.shindig.gadgets.rewrite.ResponseRewriter;
+import org.apache.shindig.gadgets.rewrite.ResponseRewriterRegistry;
import java.util.Arrays;
@@ -41,8 +41,8 @@ import javax.servlet.http.HttpServletRes
public abstract class ServletTestFixture extends EasyMockTestCase {
public final RequestPipeline pipeline = mock(RequestPipeline.class);
public final CaptureRewriter rewriter = new CaptureRewriter();
- public final RequestRewriterRegistry rewriterRegistry
- = new DefaultRequestRewriterRegistry(Arrays.<RequestRewriter>asList(rewriter), null);
+ public final ResponseRewriterRegistry rewriterRegistry
+ = new DefaultResponseRewriterRegistry(Arrays.<ResponseRewriter>asList(rewriter), null);
public final HttpServletRequest request = mock(HttpServletRequest.class);
public final HttpServletResponse response = mock(HttpServletResponse.class);
public final HttpServletResponseRecorder recorder = new HttpServletResponseRecorder(response);