aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2016-11-29 14:28:43 +0100
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>2016-12-01 16:55:11 +0100
commit99edb798a22b9020408eb4331c77f01b76b033cb (patch)
tree17e2c859a4ab97c20a6acc80a48f5080482e0c50
parent780b00c00c57ed90190eb5eed2799af4095354c7 (diff)
downloadsonarqube-99edb798a22b9020408eb4331c77f01b76b033cb.tar.gz
sonarqube-99edb798a22b9020408eb4331c77f01b76b033cb.zip
SONAR-8416 move handling logic out from UnauthorizedException
and to AuthenticationError
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/authentication/AuthenticationError.java20
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/server/authentication/UnauthorizedException.java21
2 files changed, 18 insertions, 23 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/authentication/AuthenticationError.java b/server/sonar-server/src/main/java/org/sonar/server/authentication/AuthenticationError.java
index 5376261766c..c17c7028e3f 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/authentication/AuthenticationError.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/authentication/AuthenticationError.java
@@ -19,17 +19,21 @@
*/
package org.sonar.server.authentication;
+import com.google.common.base.Charsets;
import java.io.IOException;
+import java.io.UnsupportedEncodingException;
import javax.servlet.http.HttpServletResponse;
import org.sonar.api.server.authentication.UnauthorizedException;
import org.sonar.api.utils.log.Logger;
import org.sonar.api.utils.log.Loggers;
import static java.lang.String.format;
-import static org.sonar.api.server.authentication.UnauthorizedException.UNAUTHORIZED_PATH;
+import static java.net.URLEncoder.encode;
public class AuthenticationError {
+ private static final String UNAUTHORIZED_PATH = "/sessions/unauthorized";
+ private static final String UNAUTHORIZED_PATH_WITH_MESSAGE = UNAUTHORIZED_PATH + "?message=%s";
private static final Logger LOGGER = Loggers.get(AuthenticationError.class);
private AuthenticationError() {
@@ -47,7 +51,19 @@ public class AuthenticationError {
}
public static void handleUnauthorizedError(UnauthorizedException e, HttpServletResponse response) {
- redirectTo(response, e.getPath());
+ redirectTo(response, getPath(e));
+ }
+
+ private static String getPath(UnauthorizedException e) {
+ return format(UNAUTHORIZED_PATH_WITH_MESSAGE, encodeMessage(e.getMessage()));
+ }
+
+ private static String encodeMessage(String message) {
+ try {
+ return encode(message, Charsets.UTF_8.name());
+ } catch (UnsupportedEncodingException e) {
+ throw new IllegalStateException(format("Fail to encode %s", message), e);
+ }
}
private static void redirectToUnauthorized(HttpServletResponse response) {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/server/authentication/UnauthorizedException.java b/sonar-plugin-api/src/main/java/org/sonar/api/server/authentication/UnauthorizedException.java
index a2713e5d87e..190e8afc497 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/server/authentication/UnauthorizedException.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/server/authentication/UnauthorizedException.java
@@ -19,12 +19,6 @@
*/
package org.sonar.api.server.authentication;
-import com.google.common.base.Charsets;
-import java.io.UnsupportedEncodingException;
-
-import static java.lang.String.format;
-import static java.net.URLEncoder.encode;
-
/**
* This exception should be used when a functional error is generated by an Identity Provider plugin.
* The user will be redirected to an unauthorized page and the exception's message will be displayed in the UI.
@@ -33,9 +27,6 @@ import static java.net.URLEncoder.encode;
*/
public class UnauthorizedException extends RuntimeException {
- public static final String UNAUTHORIZED_PATH = "/sessions/unauthorized";
- private static final String UNAUTHORIZED_PATH_WITH_MESSAGE = UNAUTHORIZED_PATH + "?message=%s";
-
public UnauthorizedException(String message) {
super(message);
}
@@ -43,16 +34,4 @@ public class UnauthorizedException extends RuntimeException {
public UnauthorizedException(String message, Throwable cause) {
super(message, cause);
}
-
- public String getPath() {
- return format(UNAUTHORIZED_PATH_WITH_MESSAGE, encodeMessage(getMessage()));
- }
-
- private static String encodeMessage(String message) {
- try {
- return encode(message, Charsets.UTF_8.name());
- } catch (UnsupportedEncodingException unsupportedException) {
- throw new IllegalStateException(format("Fail to encode %s", message), unsupportedException);
- }
- }
}