1 package com.ibm.webdav.protocol.http; 2 3 17 import java.io.*; 18 import java.util.logging.*; 19 20 import javax.servlet.http.*; 21 22 import com.ibm.webdav.*; 23 24 27 public class PutMethod extends WebDAVMethod { 28 29 private static Logger m_logger = Logger.getLogger(PutMethod.class.getName()); 30 31 36 public PutMethod(HttpServletRequest request, HttpServletResponse response) throws WebDAVException { 37 super(request, response); 38 methodName = "PUT"; 39 } 40 43 public WebDAVStatus execute() { 44 try { 45 OutputStream os = resource.getContentsOutputStream(context); 46 47 int length = (int) context.getRequestContext().contentLength(); 49 String mimeType = context.getRequestContext().contentType(); 50 if (mimeType==null) { 51 mimeType = "application/octet-stream"; 56 } 57 copy(request, os, length, mimeType); 58 resource.closeContentsOutputStream(context); 59 setResponseHeaders(); 60 setStatusCode(WebDAVStatus.SC_OK); 61 } catch (WebDAVException exc) { 62 m_logger.log(Level.INFO, exc.getMessage() + " - " + request.getQueryString()); 63 setStatusCode(exc.getStatusCode()); 64 } catch (Exception exc) { 65 m_logger.log(Level.WARNING, exc.getMessage(), exc); 66 setStatusCode(WebDAVStatus.SC_INTERNAL_SERVER_ERROR); 67 } 68 return context.getStatusCode(); 69 } 70 } 71 | Popular Tags |