summaryrefslogtreecommitdiffstats
path: root/jdisc_http_service/src
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-03-08 23:34:41 +0100
committerGitHub <noreply@github.com>2017-03-08 23:34:41 +0100
commit43fa72db17b0aed4f4c132b12e164c023a85b87b (patch)
treecb32e7771cc747bd6ed4b16eba4964cd908c5cea /jdisc_http_service/src
parentfa93596f761848645b3ee133bfd665ece2cc06d6 (diff)
Revert "Allow retrieving headers from response filters, via RequestView."
Diffstat (limited to 'jdisc_http_service/src')
-rw-r--r--jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/RequestView.java21
-rw-r--r--jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/SecurityFilterInvoker.java14
-rw-r--r--jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/SecurityResponseFilterChain.java15
-rw-r--r--jdisc_http_service/src/test/java/com/yahoo/jdisc/http/filter/RequestViewImplTest.java57
4 files changed, 4 insertions, 103 deletions
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/RequestView.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/RequestView.java
index dcee10cede2..f03a16f0bf0 100644
--- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/RequestView.java
+++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/RequestView.java
@@ -3,9 +3,7 @@ package com.yahoo.jdisc.http.filter;
import com.yahoo.jdisc.http.HttpRequest.Method;
-import javax.annotation.Nonnull;
import java.net.URI;
-import java.util.List;
import java.util.Optional;
/**
@@ -22,26 +20,13 @@ public interface RequestView {
* @see com.yahoo.jdisc.Request#context()
* @return the named data associated with the request that are private to this runtime (not exposed to the client)
*/
- Object getAttribute(String name);
-
- /**
- * Returns an immutable view of all values of a named header field.
- * Returns an empty list if no such header is present.
- */
- @Nonnull
- List<String> getHeaders(String name);
-
- /**
- * Convenience method for retrieving the first value of a named header field.
- * Returns empty if the header is not set, or if the value list is empty.
- */
- Optional<String> getFirstHeader(String name);
+ public Object getAttribute(String name);
/**
* Returns the Http method. Only present if the underlying request has http-like semantics.
*/
- Optional<Method> getMethod();
+ public Optional<Method> getMethod();
- URI getUri();
+ public URI getUri();
}
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/SecurityFilterInvoker.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/SecurityFilterInvoker.java
index 2b53402451c..2bcb1635dfb 100644
--- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/SecurityFilterInvoker.java
+++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/SecurityFilterInvoker.java
@@ -9,12 +9,9 @@ import com.yahoo.jdisc.http.servlet.ServletRequest;
import com.yahoo.jdisc.http.servlet.ServletResponse;
import com.yahoo.jdisc.http.server.jetty.FilterInvoker;
-import javax.annotation.Nonnull;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.net.URI;
-import java.util.Collections;
-import java.util.List;
import java.util.Optional;
/**
@@ -85,17 +82,6 @@ public class SecurityFilterInvoker implements FilterInvoker {
return request.getAttribute(name);
}
-
- @Nonnull @Override
- public List<String> getHeaders(String name) {
- return Collections.unmodifiableList(Collections.list(request.getHeaders(name)));
- }
-
- @Override
- public Optional<String> getFirstHeader(String name) {
- return getHeaders(name).stream().findFirst();
- }
-
@Override
public Optional<Method> getMethod() {
return Optional.of(Method.valueOf(request.getMethod()));
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/SecurityResponseFilterChain.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/SecurityResponseFilterChain.java
index ae03f5fcb59..ae4ea34e45c 100644
--- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/SecurityResponseFilterChain.java
+++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/SecurityResponseFilterChain.java
@@ -14,8 +14,6 @@ import com.yahoo.jdisc.Response;
import com.yahoo.jdisc.http.HttpRequest;
import com.yahoo.jdisc.http.HttpResponse;
-import javax.annotation.Nonnull;
-
/**
* Implementation of TypedFilterChain for DiscFilterResponse
* @author tejalk
@@ -60,7 +58,7 @@ public class SecurityResponseFilterChain extends AbstractResource implements Res
return Collections.unmodifiableList(filters);
}
- static class RequestViewImpl implements RequestView {
+ private static class RequestViewImpl implements RequestView {
private final Request request;
private final Optional<HttpRequest.Method> method;
@@ -77,17 +75,6 @@ public class SecurityResponseFilterChain extends AbstractResource implements Res
return request.context().get(name);
}
- @Nonnull @Override
- public List<String> getHeaders(String name) {
- List<String> headers = request.headers().get(name);
- return headers == null ? Collections.emptyList() : Collections.unmodifiableList(headers);
- }
-
- @Override
- public Optional<String> getFirstHeader(String name) {
- return getHeaders(name).stream().findFirst();
- }
-
@Override
public Optional<HttpRequest.Method> getMethod() {
return method;
diff --git a/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/filter/RequestViewImplTest.java b/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/filter/RequestViewImplTest.java
deleted file mode 100644
index d8ba8bac14a..00000000000
--- a/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/filter/RequestViewImplTest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2017 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.jdisc.http.filter;
-
-import com.google.common.collect.Lists;
-import com.yahoo.jdisc.HeaderFields;
-import com.yahoo.jdisc.Request;
-import com.yahoo.jdisc.http.filter.SecurityResponseFilterChain.RequestViewImpl;
-import org.testng.annotations.Test;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-import static org.testng.Assert.assertEquals;
-
-/**
- * @author gjoranv
- */
-public class RequestViewImplTest {
-
- @Test
- public void header_from_the_parent_request_is_available() throws Exception {
- final String HEADER = "single-header";
-
- HeaderFields parentHeaders = new HeaderFields();
- parentHeaders.add(HEADER, "value");
-
- RequestView requestView = newRequestView(parentHeaders);
-
- assertEquals(requestView.getFirstHeader(HEADER).get(), "value");
- assertEquals(requestView.getHeaders(HEADER).size(), 1);
- assertEquals(requestView.getHeaders(HEADER).get(0), "value");
- }
-
-
- @Test
- public void multi_value_header_from_the_parent_request_is_available() throws Exception {
- final String HEADER = "list-header";
-
- HeaderFields parentHeaders = new HeaderFields();
- parentHeaders.add(HEADER, Lists.newArrayList("one", "two"));
-
- RequestView requestView = newRequestView(parentHeaders);
-
- assertEquals(requestView.getHeaders(HEADER).size(), 2);
- assertEquals(requestView.getHeaders(HEADER).get(0), "one");
- assertEquals(requestView.getHeaders(HEADER).get(1), "two");
-
- assertEquals(requestView.getFirstHeader(HEADER).get(), "one");
- }
-
- private static RequestView newRequestView(HeaderFields parentHeaders) {
- Request request = mock(Request.class);
- when(request.headers()).thenReturn(parentHeaders);
-
- return new RequestViewImpl(request);
- }
-
-}