diff --git a/src/main/java/org/gcube/datatransfer/resolver/UriResolverRewriteFilter.java b/src/main/java/org/gcube/datatransfer/resolver/UriResolverRewriteFilter.java index 44711f4..ac75382 100644 --- a/src/main/java/org/gcube/datatransfer/resolver/UriResolverRewriteFilter.java +++ b/src/main/java/org/gcube/datatransfer/resolver/UriResolverRewriteFilter.java @@ -1,5 +1,5 @@ /** - * + * */ package org.gcube.datatransfer.resolver; @@ -17,7 +17,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * + * * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it * Nov 20, 2015 */ @@ -47,7 +47,7 @@ public class UriResolverRewriteFilter implements Filter{ if (queryString == null) { // IS A /XXXXX logger.debug("QueryString is null, is It a new SMP public uri by ID?"); int lastSlash = requestURI.lastIndexOf("/"); - if ((lastSlash + 1) == requestURI.length()) { + if (lastSlash + 1 == requestURI.length()) { logger.debug("'/' is last index, doFilter Request"); // req.getRequestDispatcher("/").forward(req, res); chain.doFilter(req, res); @@ -57,7 +57,7 @@ public class UriResolverRewriteFilter implements Filter{ // String newURI = requestURI.replace(toReplace, // SERVLET_RESOLVER_BY_ID+"?"+SMP_ID+"="+toReplace); String newURI = SERVLET_RESOLVER_BY_ID + "?" + SMP_ID + "=" + toStorageID; - logger.debug("forward to: " + requestURI + newURI); + logger.debug("forward to: " + newURI); req.getRequestDispatcher(newURI).forward(req, res); } } diff --git a/src/main/java/org/gcube/datatransfer/resolver/http/StorageIDResolver.java b/src/main/java/org/gcube/datatransfer/resolver/http/StorageIDResolver.java index a55a061..348e27e 100644 --- a/src/main/java/org/gcube/datatransfer/resolver/http/StorageIDResolver.java +++ b/src/main/java/org/gcube/datatransfer/resolver/http/StorageIDResolver.java @@ -3,6 +3,7 @@ package org.gcube.datatransfer.resolver.http; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.net.URLEncoder; import javax.servlet.ServletConfig; import javax.servlet.ServletException; @@ -147,7 +148,7 @@ public class StorageIDResolver extends HttpServlet { if(contentType==null || contentType.isEmpty()) contentType = ConstantsHttpResolver.DEFAULT_CONTENTTYPE_UNKNOWN_UNKNOWN; - response.addHeader(ConstantsHttpResolver.CONTENT_DISPOSITION, "attachment; filename=" +fileName); + response.addHeader(ConstantsHttpResolver.CONTENT_DISPOSITION, "attachment; filename=" +URLEncoder.encode(fileName, "UTF-8")); response.setContentType(contentType); //CASE VALIDATION