You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by zh...@gmail.com on 2010/04/12 19:15:16 UTC

Add RequestRewriters to Concat servlet (issue898043)

Reviewers: shindig.remailer_gmail.com, Paul Lindner,

Description:

As part of rewriters refactoring the concat servlet does not use proxy
servlet anymore, as a result the Css rewritters are not run.
Change i to add the RequestRewriterRegistry to concat similar to the way
ProxyHandler do it.


Please review this at http://codereview.appspot.com/898043/show

Affected files:
    
java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java


### Eclipse Workspace Patch 1.0
#P shindig-project
Index:  
java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java
===================================================================
---  
java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java	 
(revision 932644)
+++  
java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ConcatProxyServlet.java	 
(working copy)
@@ -30,6 +30,8 @@
  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.RewritingException;
  import org.apache.shindig.gadgets.uri.ConcatUriManager;
  import org.apache.shindig.gadgets.uri.UriCommon.Param;

@@ -61,6 +63,7 @@

    private RequestPipeline requestPipeline;
    private ConcatUriManager concatUriManager;
+  private RequestRewriterRegistry contentRewriterRegistry;

    @Inject
    public void setRequestPipeline(RequestPipeline requestPipeline) {
@@ -72,6 +75,11 @@
      this.concatUriManager = concatUriManager;
    }

+  @Inject
+  public void setContentRewriterRegistry(RequestRewriterRegistry  
contentRewriterRegistry) {
+    this.contentRewriterRegistry = contentRewriterRegistry;
+  }
+
    @SuppressWarnings("boxing")
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse  
response)
@@ -126,6 +134,14 @@
        try {
          HttpRequest httpReq = concatUri.makeHttpRequest(resourceUri);
          HttpResponse httpResp = requestPipeline.execute(httpReq);
+        if (contentRewriterRegistry != null) {
+          try {
+            httpResp =  
contentRewriterRegistry.rewriteHttpResponse(httpReq, httpResp);
+          } catch (RewritingException e) {
+            throw new  
GadgetException(GadgetException.Code.INTERNAL_SERVER_ERROR, e,
+                e.getHttpStatusCode());
+          }
+        }
          cos.output(resourceUri, httpResp);
        } catch (GadgetException ge) {
          response.setStatus(HttpResponse.SC_BAD_REQUEST);