Skip to content

Commit f011cc9

Browse files
committed
introduce configuration for intercepting by default
1 parent 4febb8e commit f011cc9

3 files changed

Lines changed: 21 additions & 10 deletions

File tree

src/main/java/com/github/greengerong/PreRenderSEOFilter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
public class PreRenderSEOFilter implements Filter {
1414
public static final List<String> PARAMETER_NAMES = Lists.newArrayList("preRenderEventHandler", "proxy", "proxyPort",
1515
"prerenderToken", "forwardedURLHeader", "crawlerUserAgents", "extensionsToIgnore", "whitelist",
16-
"blacklist", "prerenderServiceUrl");
16+
"blacklist", "prerenderServiceUrl", "interceptByDefault");
1717
private PrerenderSeoService prerenderSeoService;
1818

1919
@Override

src/main/java/com/github/greengerong/PrerenderConfig.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,14 @@ public String getPrerenderToken() {
7575
public String getForwardedURLHeader() {
7676
return config.get("forwardedURLHeader");
7777
}
78+
79+
public boolean isInterceptByDefault() {
80+
String interceptByDefault = config.get("interceptByDefault");
81+
if(interceptByDefault != null) {
82+
return Boolean.parseBoolean(interceptByDefault);
83+
}
84+
return true;
85+
}
7886

7987
public List<String> getCrawlerUserAgents() {
8088
List<String> crawlerUserAgents = Lists.newArrayList("googlebot", "yahoo", "bingbot", "baiduspider",

src/main/java/com/github/greengerong/PrerenderSeoService.java

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -119,18 +119,21 @@ private boolean shouldShowPrerenderedPage(HttpServletRequest request) throws URI
119119
return true;
120120
}
121121

122-
if (StringUtils.isBlank(userAgent)) {
123-
log.trace("Request has blank userAgent; intercept: no");
124-
return false;
125-
}
122+
boolean interceptByDefault = prerenderConfig.isInterceptByDefault();
123+
if(interceptByDefault) {
124+
if (StringUtils.isBlank(userAgent)) {
125+
log.trace("Request has blank userAgent; intercept: no");
126+
return false;
127+
}
126128

127-
if (!isInSearchUserAgent(userAgent)) {
128-
log.trace("Request User-Agent is not a search bot; intercept: no");
129-
return false;
129+
if (!isInSearchUserAgent(userAgent)) {
130+
log.trace("Request User-Agent is not a search bot; intercept: no");
131+
return false;
132+
}
130133
}
131134

132-
log.trace(String.format("Defaulting to request intercept(user-agent=%s): yes", userAgent));
133-
return true;
135+
log.trace(String.format("Defaulting to request intercept(user-agent=%s): %s", userAgent, interceptByDefault ? "yes" : "no"));
136+
return interceptByDefault;
134137
}
135138

136139
protected HttpGet getHttpGet(String apiUrl) {

0 commit comments

Comments
 (0)