001
014
015 package com.liferay.portal.webdav.methods;
016
017 import com.liferay.portal.kernel.webdav.Resource;
018 import com.liferay.portal.kernel.webdav.WebDAVException;
019 import com.liferay.portal.kernel.webdav.WebDAVRequest;
020 import com.liferay.portal.kernel.webdav.WebDAVStorage;
021
022 import javax.servlet.http.HttpServletResponse;
023
024
028 public class HeadMethodImpl implements Method {
029
030 public int process(WebDAVRequest webDavRequest) throws WebDAVException {
031 try {
032 WebDAVStorage storage = webDavRequest.getWebDAVStorage();
033 HttpServletResponse response =
034 webDavRequest.getHttpServletResponse();
035
036 Resource resource = storage.getResource(webDavRequest);
037
038 int status = HttpServletResponse.SC_NOT_FOUND;
039
040 if (resource == null) {
041 response.sendError(
042 HttpServletResponse.SC_NOT_FOUND, webDavRequest.getPath());
043 }
044 else {
045 if (!resource.isCollection()) {
046 response.setContentLength((int)resource.getSize());
047 }
048
049 status = HttpServletResponse.SC_OK;
050 }
051
052 return status;
053 }
054 catch (Exception e) {
055 throw new WebDAVException(e);
056 }
057 }
058
059 }