1 package com.ibm.webdav.protocol.http; 2 3 17 import java.util.*; 18 import java.util.logging.*; 19 20 import javax.servlet.http.*; 21 22 import com.ibm.webdav.*; 23 24 25 28 public class OptionsMethod extends WebDAVMethod 29 { 30 private static Logger m_logger = Logger.getLogger(OptionsMethod.class.getName()); 31 32 33 38 public OptionsMethod(HttpServletRequest request, HttpServletResponse response) throws WebDAVException { 39 super(request, response); 40 methodName = "OPTIONS"; 41 } 42 45 public WebDAVStatus execute() { 46 try { 47 context.getResponseContext().put("Allow", getCommaSeparatedString(resource.getAllowedMethods())); 48 context.getResponseContext().DAV("1, 2, binding"); 50 setResponseHeaders(); 51 setStatusCode(WebDAVStatus.SC_OK); 52 53 57 } catch (Exception exc) { 58 m_logger.log(Level.WARNING, exc.getMessage(), exc); 59 setStatusCode(WebDAVStatus.SC_INTERNAL_SERVER_ERROR); 60 } 61 return context.getStatusCode(); 62 } 63 64 70 private String getCommaSeparatedString(List allowedMethods) { 71 Iterator iter = allowedMethods.iterator(); 72 StringBuffer strbuf = new StringBuffer (); 73 while(iter.hasNext()) { 74 strbuf.append(iter.next()); 75 if(iter.hasNext()) { 76 strbuf.append(","); 77 } 78 } 79 80 return strbuf.toString(); 81 } 82 } 83 | Popular Tags |