Author: gagan
Date: Wed Jun 8 04:52:24 2011
New Revision: 1133248
URL: http://svn.apache.org/viewvc?rev=1133248&view=rev
Log:
Patch by pulkitgoyal2000 | Issue 4539095: Parameterizing LongLivedReferesh
value in ConcatProxyServlet & ProxyHandler |
http://codereview.appspot.com/4539095/
Modified:
shindig/trunk/java/common/conf/shindig.properties
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/ProxyHandler.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java
Modified: shindig/trunk/java/common/conf/shindig.properties
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/common/conf/shindig.properties?rev=1133248&r1=1133247&r2=1133248&view=diff
==============================================================================
--- shindig/trunk/java/common/conf/shindig.properties (original)
+++ shindig/trunk/java/common/conf/shindig.properties Wed Jun 8 04:52:24 2011
@@ -171,3 +171,6 @@ org.apache.shindig.gadgets.uri.setAuthor
# Maximum Get Url size limit
org.apache.shindig.gadgets.uri.urlMaxLength=2048
+
+# Default cachettl value for versioned url in seconds. Here default value is 1
year.
+org.apache.shindig.gadgets.servlet.longLivedRefreshSec=31536000
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=1133248&r1=1133247&r2=1133248&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
Wed Jun 8 04:52:24 2011
@@ -68,7 +68,6 @@ public class ConcatProxyServlet extends
public static final String JSON_PARAM = Param.JSON.getKey();
private static final Pattern JSON_PARAM_PATTERN = Pattern.compile("^\\w*$");
- // TODO: parameterize these.
static final Integer LONG_LIVED_REFRESH = (365 * 24 * 60 * 60); // 1 year
static final Integer DEFAULT_REFRESH = (60 * 60); // 1 hour
@@ -83,6 +82,14 @@ public class ConcatProxyServlet extends
// Sequential version of 'execute' by default.
private transient Executor executor = Executors.newSingleThreadExecutor();
+ private Integer longLivedRefreshSec = LONG_LIVED_REFRESH;
+
+ @Inject(optional = true)
+ public void setLongLivedRefresh(
+ @Named("org.apache.shindig.gadgets.servlet.longLivedRefreshSec") int
longLivedRefreshSec) {
+ this.longLivedRefreshSec = longLivedRefreshSec;
+ }
+
@Inject
public void setRequestPipeline(RequestPipeline requestPipeline) {
checkInitialized();
@@ -231,7 +238,7 @@ public class ConcatProxyServlet extends
// TODO: Investigate Chunked Encoding
minCacheTtl = isMinCacheTtlSet ? (minCacheTtl / 1000) : DEFAULT_REFRESH;
HttpUtil.setCachingHeaders(response,
- concatUri.translateStatusRefresh(LONG_LIVED_REFRESH,
minCacheTtl.intValue()), false);
+ concatUri.translateStatusRefresh(longLivedRefreshSec,
minCacheTtl.intValue()), false);
} catch (GadgetException gex) {
cos.outputError(uri, gex);
} finally {
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=1133248&r1=1133247&r2=1133248&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
Wed Jun 8 04:52:24 2011
@@ -48,13 +48,11 @@ import java.io.IOException;
*/
@Singleton
public class ProxyHandler {
- // TODO: parameterize these.
- static final Integer LONG_LIVED_REFRESH = (365 * 24 * 60 * 60); // 1 year
-
private final RequestPipeline requestPipeline;
private final ResponseRewriterRegistry contentRewriterRegistry;
protected final boolean remapInternalServerError;
private final GadgetBlacklist gadgetBlacklist;
+ private final Integer longLivedRefreshSec;
@Inject
public ProxyHandler(RequestPipeline requestPipeline,
@@ -62,11 +60,14 @@ public class ProxyHandler {
ResponseRewriterRegistry contentRewriterRegistry,
@Named("shindig.proxy.remapInternalServerError")
Boolean remapInternalServerError,
- GadgetBlacklist gadgetBlacklist) {
+ GadgetBlacklist gadgetBlacklist,
+
@Named("org.apache.shindig.gadgets.servlet.longLivedRefreshSec")
+ int longLivedRefreshSec) {
this.requestPipeline = requestPipeline;
this.contentRewriterRegistry = contentRewriterRegistry;
this.remapInternalServerError = remapInternalServerError;
this.gadgetBlacklist = gadgetBlacklist;
+ this.longLivedRefreshSec = longLivedRefreshSec;
}
/**
@@ -122,7 +123,7 @@ public class ProxyHandler {
try {
ServletUtil.setCachingHeaders(response,
- proxyUri.translateStatusRefresh(LONG_LIVED_REFRESH, (int)
(results.getCacheTtl() / 1000)),
+ proxyUri.translateStatusRefresh(longLivedRefreshSec, (int)
(results.getCacheTtl() / 1000)),
false);
} catch (GadgetException gex) {
return ServletUtil.errorResponse(gex);
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=1133248&r1=1133247&r2=1133248&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
Wed Jun 8 04:52:24 2011
@@ -58,6 +58,8 @@ public class ProxyHandlerTest extends Ea
private final static String GADGET = "http://some/gadget.xml";
private final static String URL_ONE = "http://www.example.org/test.html";
private final static String DATA_ONE = "hello world";
+ private final static Integer LONG_LIVED_REFRESH = (365 * 24 * 60 * 60); //
1 year
+
public final RequestPipeline pipeline = mock(RequestPipeline.class);
private GadgetBlacklist gadgetBlacklist = mock(GadgetBlacklist.class);
@@ -67,7 +69,7 @@ public class ProxyHandlerTest extends Ea
private ProxyUriManager.ProxyUri request;
private final ProxyHandler proxyHandler
- = new ProxyHandler(pipeline, rewriterRegistry, true, gadgetBlacklist);
+ = new ProxyHandler(pipeline, rewriterRegistry, true, gadgetBlacklist,
LONG_LIVED_REFRESH);
private void expectGetAndReturnData(String url, byte[] data) throws
Exception {
HttpRequest req = new HttpRequest(Uri.parse(url));
@@ -338,7 +340,8 @@ public class ProxyHandlerTest extends Ea
ResponseRewriterRegistry rewriterRegistry =
new DefaultResponseRewriterRegistry(
Arrays.<ResponseRewriter>asList(rewriter), null);
- ProxyHandler proxyHandler = new ProxyHandler(pipeline, rewriterRegistry,
true, gadgetBlacklist);
+ ProxyHandler proxyHandler = new ProxyHandler(pipeline, rewriterRegistry,
true, gadgetBlacklist,
+ LONG_LIVED_REFRESH);
request.setReturnOriginalContentOnError(true);
HttpResponse recorder = proxyHandler.fetch(request);
@@ -376,7 +379,8 @@ public class ProxyHandlerTest extends Ea
ResponseRewriterRegistry rewriterRegistry =
new DefaultResponseRewriterRegistry(
Arrays.<ResponseRewriter>asList(rewriter), null);
- ProxyHandler proxyHandler = new ProxyHandler(pipeline, rewriterRegistry,
true, gadgetBlacklist);
+ ProxyHandler proxyHandler = new ProxyHandler(pipeline, rewriterRegistry,
true, gadgetBlacklist,
+ LONG_LIVED_REFRESH);
boolean exceptionCaught = false;
try {