From f6953c3c460f218f914b9200ec385284b843b093 Mon Sep 17 00:00:00 2001 From: FabioISTI Date: Wed, 8 Apr 2020 16:05:43 +0200 Subject: [PATCH] explicit HEAD method --- .../gcube/data/transfer/service/transfers/REST.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/org/gcube/data/transfer/service/transfers/REST.java b/src/main/java/org/gcube/data/transfer/service/transfers/REST.java index 061fe56..162adc8 100644 --- a/src/main/java/org/gcube/data/transfer/service/transfers/REST.java +++ b/src/main/java/org/gcube/data/transfer/service/transfers/REST.java @@ -12,6 +12,7 @@ import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.DefaultValue; import javax.ws.rs.GET; +import javax.ws.rs.HEAD; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.PathParam; @@ -26,6 +27,7 @@ import org.gcube.data.transfer.model.DeletionReport; import org.gcube.data.transfer.model.Destination; import org.gcube.data.transfer.model.DestinationClashPolicy; import org.gcube.data.transfer.model.PluginInvocation; +import org.gcube.data.transfer.model.RemoteFileDescriptor; import org.gcube.data.transfer.model.ServiceConstants; import org.gcube.data.transfer.model.TransferRequest; import org.gcube.data.transfer.model.TransferTicket; @@ -193,6 +195,17 @@ public class REST { } } + @HEAD + @Produces(MediaType.APPLICATION_JSON) + public RemoteFileDescriptor getDescriptor() { + String pathString="<"+destinationID+">/"+subPath; + try { + log.info("Received HEAD request at {} , descriptor option is {} ",pathString); + return persistence.getDescriptor(destinationID, subPath); + }catch(DestinationAccessException e) { + throw new WebApplicationException("Unable to access selected path "+pathString,e,Status.INTERNAL_SERVER_ERROR); + } + } @DELETE @Produces(MediaType.APPLICATION_JSON)