diff --git a/README.md b/README.md index 1a30dd5..aa01ab9 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ this environment variables are preset in docker image: * `MAVOR_TEMP_DIR`: path to a readable and writeable directory to temporarily store files this environemnt variables are required to be set in docker container: +* `MAVOR_WEB_ROOT`: Base URL of how the client access the web page * `MAVOR_OPENID_CLIENT_ID`: OpenID Client ID * `MAVOR_OPENID_CLIENT_SECRET`: OpenID Client Secret - not yet providing docker secrets * `MAVOR_OPENID_REDIRECT_URL`: OpenID Redirect URL - where to redirect after authentication @@ -20,6 +21,7 @@ this environemnt variables are required to be set in docker container: ## Development To avoid setting environment variables during devleopment, create `src/main/resources/development.properties` with content like: ``` +MAVOR_WEB_ROOT=http://localhost:8080/mavor MAVOR_MAVEN_EXECUTABLE=/usr/bin/mvn MAVOR_TEMP_DIR=/home/damage/Temp MAVOR_OPENID_CLIENT_ID=foo diff --git a/src/main/java/de/devloop/mavor/AuthenticatedServlet.java b/src/main/java/de/devloop/mavor/AuthenticatedServlet.java index 6a9a17e..3139aee 100644 --- a/src/main/java/de/devloop/mavor/AuthenticatedServlet.java +++ b/src/main/java/de/devloop/mavor/AuthenticatedServlet.java @@ -11,9 +11,10 @@ public class AuthenticatedServlet extends BaseServlet { @Override protected final void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + super.doGet(req, resp); session = new Session(req.getSession(true)); if (!session.isAuthenticated()) { - resp.sendRedirect("/mavor/authenticate"); + resp.sendRedirect(configuration.getWebRoot() + "/authenticate"); } else { doAuthenticatedGet(req, resp); } @@ -21,9 +22,10 @@ public class AuthenticatedServlet extends BaseServlet { @Override protected final void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + super.doPost(req, resp); session = new Session(req.getSession(true)); if (!session.isAuthenticated()) { - resp.sendRedirect("/mavor/authenticate"); + resp.sendRedirect(configuration.getWebRoot() + "/authenticate"); } else { doAuthenticatedPost(req, resp); } diff --git a/src/main/java/de/devloop/mavor/BaseServlet.java b/src/main/java/de/devloop/mavor/BaseServlet.java index 27cf59e..19deea0 100644 --- a/src/main/java/de/devloop/mavor/BaseServlet.java +++ b/src/main/java/de/devloop/mavor/BaseServlet.java @@ -4,6 +4,8 @@ import java.io.IOException; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; public class BaseServlet extends HttpServlet { protected Configuration configuration; @@ -16,4 +18,14 @@ public class BaseServlet extends HttpServlet { throw new ServletException("Configuration Error", e); } } + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + req.setAttribute("WEB_ROOT", configuration.getWebRoot()); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + req.setAttribute("WEB_ROOT", configuration.getWebRoot()); + } } \ No newline at end of file diff --git a/src/main/java/de/devloop/mavor/servlet/Authentication.java b/src/main/java/de/devloop/mavor/servlet/Authentication.java index 6524ac1..1bb76fe 100644 --- a/src/main/java/de/devloop/mavor/servlet/Authentication.java +++ b/src/main/java/de/devloop/mavor/servlet/Authentication.java @@ -57,7 +57,7 @@ public class Authentication extends BaseServlet { session.setOAuthToken(token.getAccessToken()); session.setUsername(userInfo.getEmail()); - resp.sendRedirect("/mavor/"); + resp.sendRedirect(configuration.getWebRoot()); } else { throw new ServletException("OpenID state mismatch!"); } diff --git a/src/main/java/de/devloop/mavor/servlet/DownloadZip.java b/src/main/java/de/devloop/mavor/servlet/DownloadZip.java index 935782e..b05ceb3 100644 --- a/src/main/java/de/devloop/mavor/servlet/DownloadZip.java +++ b/src/main/java/de/devloop/mavor/servlet/DownloadZip.java @@ -34,7 +34,7 @@ public class DownloadZip extends AuthenticatedServlet { throw new ServletException("-.-"); } } else { - Main.redirectToMe(resp); + resp.sendRedirect(configuration.getWebRoot()); } } } diff --git a/src/main/java/de/devloop/mavor/servlet/Main.java b/src/main/java/de/devloop/mavor/servlet/Main.java index 9728087..65a3bbd 100644 --- a/src/main/java/de/devloop/mavor/servlet/Main.java +++ b/src/main/java/de/devloop/mavor/servlet/Main.java @@ -19,8 +19,4 @@ public class Main extends AuthenticatedServlet { view.forward(req, resp); } - - public static void redirectToMe(HttpServletResponse resp) throws IOException { - resp.sendRedirect("/mavor"); - } } diff --git a/src/main/webapp/download.jsp b/src/main/webapp/download.jsp index 7de790a..63f6bdc 100644 --- a/src/main/webapp/download.jsp +++ b/src/main/webapp/download.jsp @@ -2,8 +2,8 @@ <%@ page isELIgnored="false" %> - Download dependencies (Link only works once!): ${zipFilename}
- logout | back
+ Download dependencies (Link only works once!): ${zipFilename}
+ logout | back
Maven Output:
${stdout}
diff --git a/src/main/webapp/main.jsp b/src/main/webapp/main.jsp index 60b83e1..75f423b 100644 --- a/src/main/webapp/main.jsp +++ b/src/main/webapp/main.jsp @@ -3,7 +3,7 @@

Hello ${username}

-
+ Repository:
Group ID:
@@ -11,11 +11,11 @@ Version:
-
+ POM:
-logout +logout