Skip to content

Commit 80dd5a1

Browse files
committed
Merge pull request #29 from packowitz/master
introduce configuration for intercepting by default thanks @packowitz
2 parents d401f98 + f011cc9 commit 80dd5a1

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
@@ -14,7 +14,7 @@
1414
public class PreRenderSEOFilter implements Filter {
1515
public static final List<String> PARAMETER_NAMES = Lists.newArrayList("preRenderEventHandler", "proxy", "proxyPort",
1616
"prerenderToken", "forwardedURLHeader", "crawlerUserAgents", "extensionsToIgnore", "whitelist",
17-
"blacklist", "prerenderServiceUrl");
17+
"blacklist", "prerenderServiceUrl", "interceptByDefault");
1818
private PrerenderSeoService prerenderSeoService;
1919

2020
@Override

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,14 @@ public String getPrerenderToken() {
7979
public String getForwardedURLHeader() {
8080
return config.get("forwardedURLHeader");
8181
}
82+
83+
public boolean isInterceptByDefault() {
84+
String interceptByDefault = config.get("interceptByDefault");
85+
if(interceptByDefault != null) {
86+
return Boolean.parseBoolean(interceptByDefault);
87+
}
88+
return true;
89+
}
8290

8391
public List<String> getCrawlerUserAgents() {
8492
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
@@ -124,18 +124,21 @@ private boolean shouldShowPrerenderedPage(HttpServletRequest request) throws URI
124124
return true;
125125
}
126126

127-
if (StringUtils.isBlank(userAgent)) {
128-
log.trace("Request has blank userAgent; intercept: no");
129-
return false;
130-
}
127+
boolean interceptByDefault = prerenderConfig.isInterceptByDefault();
128+
if(interceptByDefault) {
129+
if (StringUtils.isBlank(userAgent)) {
130+
log.trace("Request has blank userAgent; intercept: no");
131+
return false;
132+
}
131133

132-
if (!isInSearchUserAgent(userAgent)) {
133-
log.trace("Request User-Agent is not a search bot; intercept: no");
134-
return false;
134+
if (!isInSearchUserAgent(userAgent)) {
135+
log.trace("Request User-Agent is not a search bot; intercept: no");
136+
return false;
137+
}
135138
}
136139

137-
log.trace(String.format("Defaulting to request intercept(user-agent=%s): yes", userAgent));
138-
return true;
140+
log.trace(String.format("Defaulting to request intercept(user-agent=%s): %s", userAgent, interceptByDefault ? "yes" : "no"));
141+
return interceptByDefault;
139142
}
140143

141144
protected HttpGet getHttpGet(String apiUrl) {

0 commit comments

Comments
 (0)