From 9ec3696203354d91a8f4d0a2a118300a0087ff38 Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Mon, 6 May 2024 12:31:13 +0200 Subject: [PATCH] no putting user header in Production mode --- .../GeoportalExporterActionServlet.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/GeoportalExporterActionServlet.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/GeoportalExporterActionServlet.java index 964380e..19ff71e 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/GeoportalExporterActionServlet.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/GeoportalExporterActionServlet.java @@ -20,6 +20,7 @@ import org.gcube.common.portal.PortalContext; import org.gcube.common.scope.api.ScopeProvider; import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants; import org.gcube.portlets.user.geoportaldataviewer.server.mongoservice.GeoportalServiceIdentityProxy; +import org.gcube.portlets.user.geoportaldataviewer.server.util.SessionUtil; import org.gcube.portlets.user.uriresolvermanager.geoportal.GeoportalExporterAPI; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -47,7 +48,7 @@ public class GeoportalExporterActionServlet extends HttpServlet { super.init(); logger.trace(GeoportalExporterActionServlet.class.getSimpleName() + " ready."); } - + @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { logger.info("doPost Called"); @@ -64,7 +65,8 @@ public class GeoportalExporterActionServlet extends HttpServlet { */ public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { logger.info("doGet Called"); - sendError(resp, "The request cannot be served (via http GET). Please retry by using the Export facility provided by Data-Viewer UI"); + sendError(resp, + "The request cannot be served (via http GET). Please retry by using the Export facility provided by Data-Viewer UI"); } /** @@ -80,8 +82,9 @@ public class GeoportalExporterActionServlet extends HttpServlet { String ucdID = req.getParameter(GeoportalDataViewerConstants.UCD_ID_PARAMETER); String contextID = req.getParameter(GeoportalDataViewerConstants.CONTEXT_ID_PARAMETER); String userID = req.getParameter(GeoportalDataViewerConstants.USER_ID_PARAMETER); - logger.info("serveRequest called with [projectID: " + projectID + ", ucdID: " + ucdID + ", contextID: " + contextID - + ", userID: " + userID + "]"); +// logger.info("serveRequest called with [projectID: " + projectID + ", ucdID: " + ucdID + ", contextID: " + contextID+"]"); + logger.info("serveRequest called with [projectID: " + projectID + ", ucdID: " + ucdID + ", contextID: " + + contextID + ", userID: " + userID + "]"); if (contextID == null || contextID.isEmpty()) sendError(resp, "Bad Request. No context found!"); @@ -94,7 +97,10 @@ public class GeoportalExporterActionServlet extends HttpServlet { // Setting header required to {@PortalContext} MutableHttpServletRequest mutableRequest = new MutableHttpServletRequest(req); mutableRequest.putHeader(PortalContext.VRE_ID_ATTR_NAME, contextID); - mutableRequest.putHeader(PortalContext.USER_ID_ATTR_NAME, userID); + if (!SessionUtil.isIntoPortal()) { + logger.info("DEBUG MODE, putting header "+PortalContext.USER_ID_ATTR_NAME); + mutableRequest.putHeader(PortalContext.USER_ID_ATTR_NAME, userID); + } ScopeProvider.instance.set(scope); GeoportalServiceIdentityProxy identity = new GeoportalServiceIdentityProxy(mutableRequest); String theToken = identity.getToken(); @@ -104,7 +110,8 @@ public class GeoportalExporterActionServlet extends HttpServlet { GeoportalExporterAPI geoportalExporterAPI = new GeoportalExporterAPI(); URL urlRequest = geoportalExporterAPI.exportProject("pdf", ucdID, projectID, false); String urlToRedirect = urlRequest.toString(); - logger.info("Performing request to {} with identity description {}", urlToRedirect, identity.getDescription()); + logger.info("Performing request to {} with identity description {}", urlToRedirect, + identity.getDescription()); logger.info("Token is {}", theToken.substring(0, 20) + "_MASKED_TOKEN"); InputStream is = performHttpRequestToSGService(urlToRedirect, theIdentity, theToken);