Skip to content

Commit 27296da

Browse files
committed
Move whitelist to separate class
1 parent fd88206 commit 27296da

File tree

3 files changed

+33
-18
lines changed

3 files changed

+33
-18
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package net.lightbody.bmp.proxy;
2+
3+
import java.util.List;
4+
import java.util.concurrent.CopyOnWriteArrayList;
5+
import java.util.regex.Pattern;
6+
7+
public class WhitelistEntry {
8+
private List<Pattern> patterns = new CopyOnWriteArrayList<Pattern>();
9+
private int responseCode;
10+
11+
public WhitelistEntry(String[] patterns, int responseCode) {
12+
for (String pattern : patterns) {
13+
this.patterns.add(Pattern.compile(pattern));
14+
}
15+
this.responseCode = responseCode;
16+
}
17+
18+
public List<Pattern> getPatterns() {
19+
return this.patterns;
20+
}
21+
22+
public int getResponseCode() {
23+
return this.responseCode;
24+
}
25+
}

src/main/java/net/lightbody/bmp/proxy/bricks/ProxyResource.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,13 +182,13 @@ public Reply<?> whitelist(@Named("port") int port, Request request) {
182182
@Delete
183183
@At("/:port/whitelist")
184184
public Reply<?> clearWhitelist(@Named("port") int port, Request request) {
185-
ProxyServer proxy = proxyManager.get(port);
185+
ProxyServer proxy = proxyManager.get(port);
186186
if (proxy == null) {
187187
return Reply.saying().notFound();
188188
}
189189

190-
proxy.clearWhitelist();
191-
return Reply.saying().ok();
190+
proxy.clearWhitelist();
191+
return Reply.saying().ok();
192192
}
193193

194194
@Post

src/main/java/net/lightbody/bmp/proxy/http/BrowserMobHttpClient.java

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import net.lightbody.bmp.core.har.*;
44
import net.lightbody.bmp.proxy.BlacklistEntry;
5+
import net.lightbody.bmp.proxy.WhitelistEntry;
56
import net.lightbody.bmp.proxy.util.*;
67
import net.sf.uadetector.ReadableUserAgent;
78
import net.sf.uadetector.UserAgentStringParser;
@@ -477,15 +478,15 @@ private BrowserMobHttpResponse execute(BrowserMobHttpRequest req, int depth) {
477478
// guard against concurrent modification of whitelistEntry
478479
if (whitelistEntry != null) {
479480
boolean found = false;
480-
for (Pattern pattern : whitelistEntry.patterns) {
481+
for (Pattern pattern : whitelistEntry.getPatterns()) {
481482
if (pattern.matcher(url).matches()) {
482483
found = true;
483484
break;
484485
}
485486
}
486487

487488
if (!found) {
488-
mockResponseCode = whitelistEntry.responseCode;
489+
mockResponseCode = whitelistEntry.getResponseCode();
489490
}
490491
}
491492
}
@@ -979,8 +980,8 @@ public synchronized void whitelistRequests(String[] patterns, int responseCode)
979980
}
980981

981982
public synchronized void clearWhitelist() {
982-
// synchronized to guard against concurrent modification
983-
whitelistEntry = null;
983+
// synchronized to guard against concurrent modification
984+
whitelistEntry = null;
984985
}
985986

986987
public void addHeader(String name, String value) {
@@ -1104,17 +1105,6 @@ public void abort() {
11041105
}
11051106
}
11061107

1107-
private class WhitelistEntry {
1108-
private List<Pattern> patterns = new CopyOnWriteArrayList<Pattern>();
1109-
private int responseCode;
1110-
1111-
private WhitelistEntry(String[] patterns, int responseCode) {
1112-
for (String pattern : patterns) {
1113-
this.patterns.add(Pattern.compile(pattern));
1114-
}
1115-
this.responseCode = responseCode;
1116-
}
1117-
}
11181108

11191109
private class RewriteRule {
11201110
private Pattern match;

0 commit comments

Comments
 (0)