From 19c5bca69e391fc1469cf52494a7adfb5e397926 Mon Sep 17 00:00:00 2001 From: Sayari Mukherjee Date: Thu, 2 Jan 2025 18:15:33 +0530 Subject: [PATCH] Addressed all review comments and implemented requested changes for consistency and alignment. --- presto-lark-sheets/pom.xml | 19 ------ .../facebook/presto/server/PluginManager.java | 8 +-- .../facebook/presto/server/PrestoServer.java | 4 +- .../security/CustomPrestoAuthenticator.java | 42 +++++++------ ...d.java => PrestoAuthenticatorManager.java} | 10 ++-- .../server/security/ServerSecurityModule.java | 2 +- .../presto/testing/LocalQueryRunner.java | 5 +- ...ava => TestCustomPrestoAuthenticator.java} | 26 ++++---- presto-password-authenticators/pom.xml | 14 ----- .../spark/PrestoSparkInjectorFactory.java | 4 +- .../security/HttpServletRequestHeaders.java | 57 ------------------ .../spi/security/PrestoAuthenticator.java | 3 +- .../security/ReadOnlyHttpServletRequest.java | 59 ------------------- .../presto/spi/security/RequestHeaders.java | 24 -------- 14 files changed, 56 insertions(+), 221 deletions(-) rename presto-main/src/main/java/com/facebook/presto/server/security/{IscustomAuthenticatorRequested.java => PrestoAuthenticatorManager.java} (91%) rename presto-main/src/test/java/com/facebook/presto/server/security/{TestPrestoAuthenticator.java => TestCustomPrestoAuthenticator.java} (85%) delete mode 100644 presto-spi/src/main/java/com/facebook/presto/spi/security/HttpServletRequestHeaders.java delete mode 100644 presto-spi/src/main/java/com/facebook/presto/spi/security/ReadOnlyHttpServletRequest.java delete mode 100644 presto-spi/src/main/java/com/facebook/presto/spi/security/RequestHeaders.java diff --git a/presto-lark-sheets/pom.xml b/presto-lark-sheets/pom.xml index 2ae13824a7a94..839a0d91dc2e5 100644 --- a/presto-lark-sheets/pom.xml +++ b/presto-lark-sheets/pom.xml @@ -76,11 +76,6 @@ - - javax.servlet - javax.servlet-api - - com.facebook.presto presto-common @@ -154,18 +149,4 @@ test - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - javax.servlet:javax.servlet-api:jar:3.1.0 - - - - - diff --git a/presto-main/src/main/java/com/facebook/presto/server/PluginManager.java b/presto-main/src/main/java/com/facebook/presto/server/PluginManager.java index e873eb5fcc5c2..4634db3fc5b2c 100644 --- a/presto-main/src/main/java/com/facebook/presto/server/PluginManager.java +++ b/presto-main/src/main/java/com/facebook/presto/server/PluginManager.java @@ -26,9 +26,8 @@ import com.facebook.presto.execution.resourceGroups.ResourceGroupManager; import com.facebook.presto.metadata.Metadata; import com.facebook.presto.security.AccessControlManager; -import com.facebook.presto.server.security.IscustomAuthenticatorRequested; import com.facebook.presto.server.security.PasswordAuthenticatorManager; -import com.facebook.presto.server.security.SecurityConfig; +import com.facebook.presto.server.security.PrestoAuthenticatorManager; import com.facebook.presto.spi.CoordinatorPlugin; import com.facebook.presto.spi.Plugin; import com.facebook.presto.spi.analyzer.AnalyzerProvider; @@ -119,7 +118,7 @@ public class PluginManager private final ResourceGroupManager resourceGroupManager; private final AccessControlManager accessControlManager; private final PasswordAuthenticatorManager passwordAuthenticatorManager; - private final IscustomAuthenticatorRequested prestoAuthenticatorManager; + private final PrestoAuthenticatorManager prestoAuthenticatorManager; private final EventListenerManager eventListenerManager; private final BlockEncodingManager blockEncodingManager; private final TempStorageManager tempStorageManager; @@ -151,8 +150,7 @@ public PluginManager( QueryPreparerProviderManager queryPreparerProviderManager, AccessControlManager accessControlManager, PasswordAuthenticatorManager passwordAuthenticatorManager, - SecurityConfig securityConfig, - IscustomAuthenticatorRequested prestoAuthenticatorManager, + PrestoAuthenticatorManager prestoAuthenticatorManager, EventListenerManager eventListenerManager, BlockEncodingManager blockEncodingManager, TempStorageManager tempStorageManager, diff --git a/presto-main/src/main/java/com/facebook/presto/server/PrestoServer.java b/presto-main/src/main/java/com/facebook/presto/server/PrestoServer.java index 348bd1b86b7ef..407458e873391 100644 --- a/presto-main/src/main/java/com/facebook/presto/server/PrestoServer.java +++ b/presto-main/src/main/java/com/facebook/presto/server/PrestoServer.java @@ -48,8 +48,8 @@ import com.facebook.presto.nodeManager.PluginNodeManager; import com.facebook.presto.security.AccessControlManager; import com.facebook.presto.security.AccessControlModule; -import com.facebook.presto.server.security.IscustomAuthenticatorRequested; import com.facebook.presto.server.security.PasswordAuthenticatorManager; +import com.facebook.presto.server.security.PrestoAuthenticatorManager; import com.facebook.presto.server.security.ServerSecurityModule; import com.facebook.presto.sql.analyzer.FeaturesConfig; import com.facebook.presto.sql.parser.SqlParserOptions; @@ -176,7 +176,7 @@ public void run() injector.getInstance(AccessControlManager.class).loadSystemAccessControl(); } injector.getInstance(PasswordAuthenticatorManager.class).loadPasswordAuthenticator(); - injector.getInstance(IscustomAuthenticatorRequested.class).loadPrestoAuthenticator(); + injector.getInstance(PrestoAuthenticatorManager.class).loadPrestoAuthenticator(); injector.getInstance(EventListenerManager.class).loadConfiguredEventListener(); injector.getInstance(TempStorageManager.class).loadTempStorages(); injector.getInstance(QueryPrerequisitesManager.class).loadQueryPrerequisites(); diff --git a/presto-main/src/main/java/com/facebook/presto/server/security/CustomPrestoAuthenticator.java b/presto-main/src/main/java/com/facebook/presto/server/security/CustomPrestoAuthenticator.java index 18b8ad4515627..bac5bbbc484ea 100644 --- a/presto-main/src/main/java/com/facebook/presto/server/security/CustomPrestoAuthenticator.java +++ b/presto-main/src/main/java/com/facebook/presto/server/security/CustomPrestoAuthenticator.java @@ -21,8 +21,10 @@ import javax.servlet.http.HttpServletRequest; import java.security.Principal; +import java.util.ArrayList; import java.util.Enumeration; import java.util.HashMap; +import java.util.List; import java.util.Map; import static java.util.Objects.requireNonNull; @@ -30,43 +32,47 @@ public class CustomPrestoAuthenticator implements Authenticator { - private IscustomAuthenticatorRequested authenticatorManager; + private PrestoAuthenticatorManager authenticatorManager; @Inject - public CustomPrestoAuthenticator(IscustomAuthenticatorRequested authenticatorManager) + public CustomPrestoAuthenticator(PrestoAuthenticatorManager authenticatorManager) { this.authenticatorManager = requireNonNull(authenticatorManager, "authenticatorManager is null"); } - // Utility method to extract headers from HttpServletRequest - private Map getHeadersMap(HttpServletRequest request) - { - Map headers = new HashMap<>(); - Enumeration headerNames = request.getHeaderNames(); - while (headerNames.hasMoreElements()) { - String headerName = headerNames.nextElement(); - String headerValue = request.getHeader(headerName); - headers.put(headerName, headerValue); - } - return headers; - } - @Override public Principal authenticate(HttpServletRequest request) throws AuthenticationException { try { // Extracting headers into a Map - Map headers = getHeadersMap(request); + Map> headers = getHeadersMap(request); // Passing the header map to the authenticator (instead of HttpServletRequest) return authenticatorManager.getAuthenticator().createAuthenticatedPrincipal(headers); } catch (AccessDeniedException e) { - throw e; + throw new AuthenticationException(e.getMessage()); } catch (RuntimeException e) { - throw new AuthenticationException("Authentication failed due to an unexpected runtime error."); + throw new RuntimeException("Authentication failed due to an unexpected runtime error", e); } } + + // Utility method to extract headers from HttpServletRequest + private Map> getHeadersMap(HttpServletRequest request) + { + Map> headers = new HashMap<>(); + Enumeration headerNames = request.getHeaderNames(); + while (headerNames.hasMoreElements()) { + String headerName = headerNames.nextElement(); + Enumeration headerValues = request.getHeaders(headerName); + List valuesList = new ArrayList<>(); + while (headerValues.hasMoreElements()) { + valuesList.add(headerValues.nextElement()); + } + headers.put(headerName, valuesList); + } + return headers; + } } diff --git a/presto-main/src/main/java/com/facebook/presto/server/security/IscustomAuthenticatorRequested.java b/presto-main/src/main/java/com/facebook/presto/server/security/PrestoAuthenticatorManager.java similarity index 91% rename from presto-main/src/main/java/com/facebook/presto/server/security/IscustomAuthenticatorRequested.java rename to presto-main/src/main/java/com/facebook/presto/server/security/PrestoAuthenticatorManager.java index c88bedd3c01b8..dcd60ae76c4d5 100644 --- a/presto-main/src/main/java/com/facebook/presto/server/security/IscustomAuthenticatorRequested.java +++ b/presto-main/src/main/java/com/facebook/presto/server/security/PrestoAuthenticatorManager.java @@ -25,7 +25,6 @@ import java.util.HashMap; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; import static com.facebook.presto.util.PropertiesUtil.loadProperties; @@ -34,20 +33,19 @@ import static com.google.common.base.Strings.isNullOrEmpty; import static java.util.Objects.requireNonNull; -public class IscustomAuthenticatorRequested +public class PrestoAuthenticatorManager { - private static final Logger log = Logger.get(IscustomAuthenticatorRequested.class); + private static final Logger log = Logger.get(PrestoAuthenticatorManager.class); private static final File CONFIG_FILE = new File("etc/presto-authenticator.properties"); private static final String NAME_PROPERTY = "presto-authenticator.name"; - private final AtomicBoolean required = new AtomicBoolean(); private final Map factories = new ConcurrentHashMap<>(); private final AtomicReference authenticator = new AtomicReference<>(); private final boolean customAuthenticatorRequested; @Inject - public IscustomAuthenticatorRequested(SecurityConfig securityConfig) + public PrestoAuthenticatorManager(SecurityConfig securityConfig) { this.customAuthenticatorRequested = securityConfig.getAuthenticationTypes().contains(SecurityConfig.AuthenticationType.CUSTOM); } @@ -70,7 +68,7 @@ public void loadAuthenticator(String authenticatorName) public void loadPrestoAuthenticator() throws Exception { - if (!required.get()) { + if (!customAuthenticatorRequested) { return; } diff --git a/presto-main/src/main/java/com/facebook/presto/server/security/ServerSecurityModule.java b/presto-main/src/main/java/com/facebook/presto/server/security/ServerSecurityModule.java index 1be0c4dc4c6ef..cd7943e40b313 100644 --- a/presto-main/src/main/java/com/facebook/presto/server/security/ServerSecurityModule.java +++ b/presto-main/src/main/java/com/facebook/presto/server/security/ServerSecurityModule.java @@ -40,7 +40,7 @@ public class ServerSecurityModule protected void setup(Binder binder) { binder.bind(PasswordAuthenticatorManager.class).in(Scopes.SINGLETON); - binder.bind(IscustomAuthenticatorRequested.class).in(Scopes.SINGLETON); + binder.bind(PrestoAuthenticatorManager.class).in(Scopes.SINGLETON); List authTypes = buildConfigObject(SecurityConfig.class).getAuthenticationTypes(); Multibinder authBinder = newSetBinder(binder, Authenticator.class); diff --git a/presto-main/src/main/java/com/facebook/presto/testing/LocalQueryRunner.java b/presto-main/src/main/java/com/facebook/presto/testing/LocalQueryRunner.java index 969700ddc7230..78cadf3765b77 100644 --- a/presto-main/src/main/java/com/facebook/presto/testing/LocalQueryRunner.java +++ b/presto-main/src/main/java/com/facebook/presto/testing/LocalQueryRunner.java @@ -123,8 +123,8 @@ import com.facebook.presto.server.PluginManager; import com.facebook.presto.server.PluginManagerConfig; import com.facebook.presto.server.SessionPropertyDefaults; -import com.facebook.presto.server.security.IscustomAuthenticatorRequested; import com.facebook.presto.server.security.PasswordAuthenticatorManager; +import com.facebook.presto.server.security.PrestoAuthenticatorManager; import com.facebook.presto.server.security.SecurityConfig; import com.facebook.presto.spi.ConnectorId; import com.facebook.presto.spi.PageIndexerFactory; @@ -521,8 +521,7 @@ private LocalQueryRunner(Session defaultSession, FeaturesConfig featuresConfig, new QueryPreparerProviderManager(queryPreparerProvider), accessControl, new PasswordAuthenticatorManager(), - new SecurityConfig(), - new IscustomAuthenticatorRequested(new SecurityConfig()), + new PrestoAuthenticatorManager(new SecurityConfig()), new EventListenerManager(), blockEncodingManager, new TestingTempStorageManager(), diff --git a/presto-main/src/test/java/com/facebook/presto/server/security/TestPrestoAuthenticator.java b/presto-main/src/test/java/com/facebook/presto/server/security/TestCustomPrestoAuthenticator.java similarity index 85% rename from presto-main/src/test/java/com/facebook/presto/server/security/TestPrestoAuthenticator.java rename to presto-main/src/test/java/com/facebook/presto/server/security/TestCustomPrestoAuthenticator.java index 48cf911caf7c2..70be79c1c5579 100644 --- a/presto-main/src/test/java/com/facebook/presto/server/security/TestPrestoAuthenticator.java +++ b/presto-main/src/test/java/com/facebook/presto/server/security/TestCustomPrestoAuthenticator.java @@ -26,8 +26,10 @@ import javax.servlet.http.HttpServletRequest; import java.security.Principal; +import java.util.ArrayList; import java.util.Enumeration; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Optional; @@ -36,7 +38,7 @@ import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertTrue; -public class TestPrestoAuthenticator +public class TestCustomPrestoAuthenticator { private static final String TEST_HEADER = "test_header"; private static final String TEST_HEADER_VALID_VALUE = "VALID"; @@ -50,7 +52,7 @@ public void testPrestoAuthenticator() { SecurityConfig mockSecurityConfig = new SecurityConfig(); mockSecurityConfig.setAuthenticationTypes(ImmutableList.of(SecurityConfig.AuthenticationType.CUSTOM)); - IscustomAuthenticatorRequested prestoAuthenticatorManager = new IscustomAuthenticatorRequested(mockSecurityConfig); + PrestoAuthenticatorManager prestoAuthenticatorManager = new PrestoAuthenticatorManager(mockSecurityConfig); // Add Test Presto Authenticator Factory prestoAuthenticatorManager.addPrestoAuthenticatorFactory( new TestingPrestoAuthenticatorFactory( @@ -83,7 +85,7 @@ private Optional checkAuthentication(PrestoAuthenticator authenticato { try { // Converting HttpServletRequest to Map - Map headers = getHeadersMap(request); + Map> headers = getHeadersMap(request); // Passing the headers Map to the authenticator return Optional.of(authenticator.createAuthenticatedPrincipal(headers)); @@ -93,16 +95,20 @@ private Optional checkAuthentication(PrestoAuthenticator authenticato } } - private Map getHeadersMap(HttpServletRequest request) + private Map> getHeadersMap(HttpServletRequest request) { - Map headersMap = new HashMap<>(); + Map> headers = new HashMap<>(); Enumeration headerNames = request.getHeaderNames(); while (headerNames.hasMoreElements()) { String headerName = headerNames.nextElement(); - String headerValue = request.getHeader(headerName); - headersMap.put(headerName, headerValue); + Enumeration headerValues = request.getHeaders(headerName); + List valuesList = new ArrayList<>(); + while (headerValues.hasMoreElements()) { + valuesList.add(headerValues.nextElement()); + } + headers.put(headerName, valuesList); } - return headersMap; + return headers; } private static class TestingPrestoAuthenticatorFactory @@ -126,9 +132,9 @@ public String getName() @Override public PrestoAuthenticator create(Map config) { - return (httpRequest) -> { + return (headers) -> { // TEST_HEADER will have value of the form PART1:PART2 - String[] header = httpRequest.get(TEST_HEADER).split(":"); + String[] header = headers.get(TEST_HEADER).get(0).split(":"); if (header[0].equals(this.validHeaderValue)) { return new BasicPrincipal(header[1]); diff --git a/presto-password-authenticators/pom.xml b/presto-password-authenticators/pom.xml index b83011591f2df..a7520c3abf3c8 100644 --- a/presto-password-authenticators/pom.xml +++ b/presto-password-authenticators/pom.xml @@ -63,11 +63,6 @@ 0.9.0 - - javax.servlet - javax.servlet-api - - com.facebook.presto @@ -149,15 +144,6 @@ - - org.apache.maven.plugins - maven-dependency-plugin - - - javax.servlet:javax.servlet-api:jar:3.1.0 - - - diff --git a/presto-spark-base/src/main/java/com/facebook/presto/spark/PrestoSparkInjectorFactory.java b/presto-spark-base/src/main/java/com/facebook/presto/spark/PrestoSparkInjectorFactory.java index 581ab6c29a181..1e1a6eaeeb59f 100644 --- a/presto-spark-base/src/main/java/com/facebook/presto/spark/PrestoSparkInjectorFactory.java +++ b/presto-spark-base/src/main/java/com/facebook/presto/spark/PrestoSparkInjectorFactory.java @@ -26,8 +26,8 @@ import com.facebook.presto.security.AccessControlModule; import com.facebook.presto.server.PluginManager; import com.facebook.presto.server.SessionPropertyDefaults; -import com.facebook.presto.server.security.IscustomAuthenticatorRequested; import com.facebook.presto.server.security.PasswordAuthenticatorManager; +import com.facebook.presto.server.security.PrestoAuthenticatorManager; import com.facebook.presto.spark.classloader_interface.PrestoSparkBootstrapTimer; import com.facebook.presto.spark.classloader_interface.SparkProcessType; import com.facebook.presto.spi.security.AccessControl; @@ -183,7 +183,7 @@ public Injector create(PrestoSparkBootstrapTimer bootstrapTimer) injector.getInstance(StaticCatalogStore.class).loadCatalogs(catalogProperties); injector.getInstance(ResourceGroupManager.class).loadConfigurationManager(); injector.getInstance(PasswordAuthenticatorManager.class).loadPasswordAuthenticator(); - injector.getInstance(IscustomAuthenticatorRequested.class).loadPrestoAuthenticator(); + injector.getInstance(PrestoAuthenticatorManager.class).loadPrestoAuthenticator(); eventListenerProperties.ifPresent(properties -> injector.getInstance(EventListenerManager.class).loadConfiguredEventListener(properties)); bootstrapTimer.endSharedModulesLoading(); diff --git a/presto-spi/src/main/java/com/facebook/presto/spi/security/HttpServletRequestHeaders.java b/presto-spi/src/main/java/com/facebook/presto/spi/security/HttpServletRequestHeaders.java deleted file mode 100644 index 31d953bad8009..0000000000000 --- a/presto-spi/src/main/java/com/facebook/presto/spi/security/HttpServletRequestHeaders.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -//package com.facebook.presto.spi.security; -// -////import javax.servlet.http.HttpServletRequest; -// -//import java.util.Enumeration; -//import java.util.HashMap; -//import java.util.Map; -// -//public class HttpServletRequestHeaders -// implements RequestHeaders -//{ -// private final RequestHeaders requestHeaders; -//// private final HttpServletRequest request; -// -// public HttpServletRequestHeaders(RequestHeaders requestHeaders) -// { -// this.requestHeaders = requestHeaders; -// } -// -// @Override -// public String getHeader(String name) -// { -// return requestHeaders.getHeader(name); -// } -// -// @Override -// public Enumeration getHeaderNames() -// { -// // Delegated to the underlying RequestHeaders implementation -// return requestHeaders.getHeaderNames(); -// } -// -// @Override -// public Map getHeaders() -// { -// Enumeration headerNames = requestHeaders.getHeaderNames(); -// Map headers = new HashMap<>(); -// while (headerNames.hasMoreElements()) { -// String headerName = headerNames.nextElement(); -// headers.put(headerName, requestHeaders.getHeader(headerName)); -// } -// return headers; -// } -//} diff --git a/presto-spi/src/main/java/com/facebook/presto/spi/security/PrestoAuthenticator.java b/presto-spi/src/main/java/com/facebook/presto/spi/security/PrestoAuthenticator.java index 64eb0edb864a2..c83fe711e36ff 100644 --- a/presto-spi/src/main/java/com/facebook/presto/spi/security/PrestoAuthenticator.java +++ b/presto-spi/src/main/java/com/facebook/presto/spi/security/PrestoAuthenticator.java @@ -14,6 +14,7 @@ package com.facebook.presto.spi.security; import java.security.Principal; +import java.util.List; import java.util.Map; public interface PrestoAuthenticator @@ -24,5 +25,5 @@ public interface PrestoAuthenticator * @return the authenticated Principal * @throws AccessDeniedException if not allowed */ - Principal createAuthenticatedPrincipal(Map headers); + Principal createAuthenticatedPrincipal(Map> headers); } diff --git a/presto-spi/src/main/java/com/facebook/presto/spi/security/ReadOnlyHttpServletRequest.java b/presto-spi/src/main/java/com/facebook/presto/spi/security/ReadOnlyHttpServletRequest.java deleted file mode 100644 index 592c00972d54f..0000000000000 --- a/presto-spi/src/main/java/com/facebook/presto/spi/security/ReadOnlyHttpServletRequest.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -//package com.facebook.presto.spi.security; -// -//import javax.servlet.http.HttpServletRequest; -//import javax.servlet.http.HttpServletRequestWrapper; -// -//import java.io.BufferedReader; -//import java.io.IOException; -// -//public class ReadOnlyHttpServletRequest -// extends HttpServletRequestWrapper -//{ -// /** -// * Constructs a request object wrapping the given request. -// * -// * @param request -// * @throws IllegalArgumentException if the request is null -// */ -// public ReadOnlyHttpServletRequest(HttpServletRequest request) -// { -// super(request); -// } -// -// @Override -// public BufferedReader getReader() throws IOException -// { -// throw new UnsupportedOperationException("Reading the request body via getReader is not supported."); -// } -// -// @Override -// public javax.servlet.ServletInputStream getInputStream() throws IOException -// { -// throw new UnsupportedOperationException("Reading the request body via getInputStream is not supported."); -// } -// -// @Override -// public void setAttribute(String name, Object o) -// { -// throw new UnsupportedOperationException("Modifying request attributes is not supported."); -// } -// -// @Override -// public void removeAttribute(String name) -// { -// throw new UnsupportedOperationException("Modifying request attributes is not supported."); -// } -//} diff --git a/presto-spi/src/main/java/com/facebook/presto/spi/security/RequestHeaders.java b/presto-spi/src/main/java/com/facebook/presto/spi/security/RequestHeaders.java deleted file mode 100644 index d074eabba6dfc..0000000000000 --- a/presto-spi/src/main/java/com/facebook/presto/spi/security/RequestHeaders.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -//package com.facebook.presto.spi.security; -// -//import java.util.Enumeration; -//import java.util.Map; -// -//public interface RequestHeaders -//{ -// String getHeader(String name); -// Map getHeaders(); -// Enumeration getHeaderNames(); -//}