diff --git a/.classpath b/.classpath
index fa936d6..0f53f3e 100644
--- a/.classpath
+++ b/.classpath
@@ -4,12 +4,7 @@
-
-
-
-
-
-
+
diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
index 1d41732..cfa6374 100644
--- a/.settings/org.eclipse.wst.common.component
+++ b/.settings/org.eclipse.wst.common.component
@@ -1,11 +1,9 @@
-
-
+
-
diff --git a/distro/changelog.xml b/distro/changelog.xml
index 825d624..bd41471 100644
--- a/distro/changelog.xml
+++ b/distro/changelog.xml
@@ -2,4 +2,7 @@
first release
+
+ Added fileName and contentType parameters to SMP URI resolver
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 3356216..3804d4f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,7 +8,7 @@
org.gcube.data.transfer
uri-resolver
- 1.0.0-SNAPSHOT
+ 1.1.0-SNAPSHOT
war
diff --git a/src/main/java/org/gcube/datatransfer/resolver/http/HttpResolver.java b/src/main/java/org/gcube/datatransfer/resolver/http/HttpResolver.java
index 9558114..fc201ee 100644
--- a/src/main/java/org/gcube/datatransfer/resolver/http/HttpResolver.java
+++ b/src/main/java/org/gcube/datatransfer/resolver/http/HttpResolver.java
@@ -28,6 +28,10 @@ import org.slf4j.LoggerFactory;
*
*/
public class HttpResolver extends HttpServlet {
+
+ String uri =null;
+ String fileName =null;
+ String contentType =null;
private static final long serialVersionUID = 1L;
@@ -46,7 +50,7 @@ public class HttpResolver extends HttpServlet {
logger.info("The http session id is: " + request.getSession().getId());
- String uri = request.getParameter("smp-uri");
+ uri = request.getParameter("smp-uri");
if (uri == null || uri.equals("")) {
logger.debug("URI not found");
@@ -54,6 +58,21 @@ public class HttpResolver extends HttpServlet {
return;
}
+ fileName = request.getParameter("fileName");
+
+
+ if (fileName == null || fileName.equals("")) {
+ logger.debug("fileName not found");
+ fileName = null;
+ }
+
+ contentType = request.getParameter("contentType");
+
+ if (contentType == null || contentType.equals("")) {
+ logger.debug("contentType not found");
+ contentType = null;
+ }
+
uri = uri.replace(" ","+");//the char + is removed when the servlet is doing unescaping of the query paramenters, we just put it back
logger.debug("URI = "+ uri);
@@ -63,12 +82,16 @@ public class HttpResolver extends HttpServlet {
OutputStream out = response.getOutputStream();
- String name = "";//we don't need to put a name in the HEADER
- response.addHeader("content_name", name);
- response.addHeader("Content-Name", name);
-
- response.addHeader("content-disposition", "attachment; filename=" +name);
- response.setContentType("unknown/unknown");
+ if (fileName != null)
+ response.addHeader("content-disposition", "attachment; filename=" +fileName);
+ else
+ response.addHeader("content-disposition", "attachment; filename=fromStorageManager");
+
+ if (contentType!= null)
+ response.setContentType(contentType);
+ else
+ response.setContentType("unknown/unknown");
+
URL url = new URL(null, uri, new URLStreamHandler() {