From 43fa72db17b0aed4f4c132b12e164c023a85b87b Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Wed, 8 Mar 2017 23:34:41 +0100 Subject: Revert "Allow retrieving headers from response filters, via RequestView." --- .../com/yahoo/jdisc/http/filter/RequestView.java | 21 ++------ .../jdisc/http/filter/SecurityFilterInvoker.java | 14 ------ .../http/filter/SecurityResponseFilterChain.java | 15 +----- .../jdisc/http/filter/RequestViewImplTest.java | 57 ---------------------- 4 files changed, 4 insertions(+), 103 deletions(-) delete mode 100644 jdisc_http_service/src/test/java/com/yahoo/jdisc/http/filter/RequestViewImplTest.java (limited to 'jdisc_http_service/src') 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 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 getFirstHeader(String name); + public Object getAttribute(String name); /** * Returns the Http method. Only present if the underlying request has http-like semantics. */ - Optional getMethod(); + public Optional 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 getHeaders(String name) { - return Collections.unmodifiableList(Collections.list(request.getHeaders(name))); - } - - @Override - public Optional getFirstHeader(String name) { - return getHeaders(name).stream().findFirst(); - } - @Override public Optional 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 method; @@ -77,17 +75,6 @@ public class SecurityResponseFilterChain extends AbstractResource implements Res return request.context().get(name); } - @Nonnull @Override - public List getHeaders(String name) { - List headers = request.headers().get(name); - return headers == null ? Collections.emptyList() : Collections.unmodifiableList(headers); - } - - @Override - public Optional getFirstHeader(String name) { - return getHeaders(name).stream().findFirst(); - } - @Override public Optional 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); - } - -} -- cgit v1.2.3