summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <jonbratseth@yahoo.com>2018-02-02 17:43:02 +0100
committerGitHub <noreply@github.com>2018-02-02 17:43:02 +0100
commit31aad78ad58b50348b0c14c2bda0ce1322ed9004 (patch)
tree565c3c962d529d0fd651f48e152c06054ade04c8
parent3dda12aea5035710f922ae06b5478bfbc662db0c (diff)
parent5164e5516582bdb33be21400c788780f832fbdc4 (diff)
Merge pull request #4902 from vespa-engine/bratseth/skip-unnecessary-dns-lookup
Skip DNS lookup that is not used
-rw-r--r--jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java28
1 files changed, 12 insertions, 16 deletions
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java
index 617f0cbd184..93660a8711e 100644
--- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java
+++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java
@@ -26,11 +26,9 @@ import java.util.regex.Pattern;
/**
* The Request class on which all filters will operate upon.
- * <p>
- * This class was made abstract from 5.27. Test cases that need a concrete
+ * Test cases that need a concrete
* instance should create a {@link JdiscFilterRequest}.
*/
-
public abstract class DiscFilterRequest {
protected static final String HTTPS_PREFIX = "https";
@@ -38,7 +36,6 @@ public abstract class DiscFilterRequest {
protected static final int DEFAULT_HTTPS_PORT = 443;
private final ServletOrJdiscHttpRequest parent;
- protected final InetSocketAddress localAddress;
protected final Map<String, List<String>> untreatedParams;
private final HeaderFields untreatedHeaders;
private List<Cookie> untreatedCookies = null;
@@ -49,17 +46,11 @@ public abstract class DiscFilterRequest {
public DiscFilterRequest(ServletOrJdiscHttpRequest parent) {
this.parent = parent;
- //save untreated headers from parent
+ // save untreated headers from parent
untreatedHeaders = new HeaderFields();
parent.copyHeaders(untreatedHeaders);
untreatedParams = new HashMap<>(parent.parameters());
-
- int port = parent.getUri().getPort();
- if(port < 0) {
- port = 0;
- }
- localAddress = new InetSocketAddress(parent.getUri().getHost(), port);
}
public abstract String getMethod();
@@ -100,12 +91,17 @@ public abstract class DiscFilterRequest {
* on which the request was received.
*/
public String getLocalAddr() {
- if (null == localAddress.getAddress()) {
- return null;
- }
+ InetSocketAddress localAddress = localAddress();
+ if (localAddress.getAddress() == null) return null;
return localAddress.getAddress().getHostAddress();
}
+ private InetSocketAddress localAddress() {
+ int port = parent.getUri().getPort();
+ if (port < 0)
+ port = 0;
+ return new InetSocketAddress(parent.getUri().getHost(), port);
+ }
public Enumeration<String> getAttributeNames() {
return Collections.enumeration(parent.context().keySet());
@@ -160,7 +156,7 @@ public abstract class DiscFilterRequest {
* the interface on which the request was received.
*/
public int getLocalPort() {
- return localAddress.getPort();
+ return localAddress().getPort();
}
/**
@@ -192,7 +188,7 @@ public abstract class DiscFilterRequest {
* parent request
*/
public List<Cookie> getUntreatedCookies() {
- if(untreatedCookies == null) {
+ if (untreatedCookies == null) {
this.untreatedCookies = parent.decodeCookieHeader();
}
return Collections.unmodifiableList(untreatedCookies);