This is an automated email from the ASF dual-hosted git repository.

adutra pushed a commit to branch realm-throw-unauthorized
in repository https://gitbox.apache.org/repos/asf/polaris.git

commit ac723e79b898f142492a5c13274346067ac0910a
Author: Alexandre Dutra <[email protected]>
AuthorDate: Thu Jan 16 16:10:54 2025 +0100

    Throw NotAuthorizedException when realm is unknown
    
    Throwing IllegalArgumentException, as before, translates
    into HTTP 500, which is not great.
---
 .../org/apache/polaris/service/context/DefaultRealmIdResolver.java     | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git 
a/service/common/src/main/java/org/apache/polaris/service/context/DefaultRealmIdResolver.java
 
b/service/common/src/main/java/org/apache/polaris/service/context/DefaultRealmIdResolver.java
index 7e6a3b42..5e1573f8 100644
--- 
a/service/common/src/main/java/org/apache/polaris/service/context/DefaultRealmIdResolver.java
+++ 
b/service/common/src/main/java/org/apache/polaris/service/context/DefaultRealmIdResolver.java
@@ -22,6 +22,7 @@ import io.smallrye.common.annotation.Identifier;
 import jakarta.enterprise.context.ApplicationScoped;
 import jakarta.inject.Inject;
 import java.util.Map;
+import org.apache.iceberg.exceptions.NotAuthorizedException;
 import org.apache.polaris.core.context.RealmId;
 
 @ApplicationScoped
@@ -44,7 +45,7 @@ public class DefaultRealmIdResolver implements 
RealmIdResolver {
     if (headers.containsKey(configuration.headerName())) {
       realm = headers.get(configuration.headerName());
       if (!configuration.realms().contains(realm)) {
-        throw new IllegalArgumentException("Unknown realm: " + realm);
+        throw new NotAuthorizedException("Unknown realm: " + realm);
       }
     } else {
       realm = configuration.defaultRealm();

Reply via email to