You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by ju...@apache.org on 2001/03/21 11:13:04 UTC

cvs commit: jakarta-slide/src/webdav/server/org/apache/slide/webdav WebdavServlet.java

juergen     01/03/21 02:13:03

  Modified:    src/webdav/server/org/apache/slide/webdav WebdavServlet.java
  Log:
  log the request/response in case of logging is turned on. more details in a seperate e-mail.
  
  Revision  Changes    Path
  1.7       +48 -140   jakarta-slide/src/webdav/server/org/apache/slide/webdav/WebdavServlet.java
  
  Index: WebdavServlet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/WebdavServlet.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- WebdavServlet.java	2001/02/20 09:24:02	1.6
  +++ WebdavServlet.java	2001/03/21 10:13:01	1.7
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/WebdavServlet.java,v 1.6 2001/02/20 09:24:02 juergen Exp $
  - * $Revision: 1.6 $
  - * $Date: 2001/02/20 09:24:02 $
  + * $Header: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/WebdavServlet.java,v 1.7 2001/03/21 10:13:01 juergen Exp $
  + * $Revision: 1.7 $
  + * $Date: 2001/03/21 10:13:01 $
    *
    * ====================================================================
    *
  @@ -81,6 +81,12 @@
   import org.apache.slide.util.conf.*;
   import org.apache.slide.authenticate.SecurityToken;
   
  +import org.apache.slide.util.logger.XHttpServletRequestFacade;
  +import org.apache.slide.util.logger.XHttpServletResponseFacade;
  +import org.apache.slide.util.logger.XMLTestCaseGenerator;
  +import org.apache.slide.util.logger.Logger;
  +
  +
   /**
    * WebDAV Servlet.
    *
  @@ -92,6 +98,7 @@
       // -------------------------------------------------------------- Constants
       
       
  +    
       /**
        * HTTP Date format pattern (RFC 2068, 822, 1123).
        */
  @@ -117,126 +124,10 @@
       // -------------------------------------------------------- Private Methods
       
       
  -    /**
  -     * Show HTTP header information.
  -     */
  -    private void showRequestInfo(HttpServletRequest req) {
       
  -        System.out.println();
  -        System.out.println("SlideDAV Request Info");
  -        System.out.println();
  -        
  -        // Show generic info
  -        System.out.println("Encoding : " + req.getCharacterEncoding());
  -        System.out.println("Length : " + req.getContentLength());
  -        System.out.println("Type : " + req.getContentType());
  -        
  -        System.out.println();
  -        System.out.println("Parameters");
  -        
  -        Enumeration parameters = req.getParameterNames();
  -        
  -        while (parameters.hasMoreElements()) {
  -            String paramName = (String) parameters.nextElement();
  -            String[] values = req.getParameterValues(paramName);
  -            System.out.print(paramName + " : ");
  -            for (int i = 0; i < values.length; i++) {
  -            System.out.print(values[i] + ", ");
  -            }
  -            System.out.println();
  -        }
  -        
  -        System.out.println();
  -        
  -        System.out.println("Protocol : " + req.getProtocol());
  -        System.out.println("Address : " + req.getRemoteAddr());
  -        System.out.println("Host : " + req.getRemoteHost());
  -        System.out.println("Scheme : " + req.getScheme());
  -        System.out.println("Server Name : " + req.getServerName());
  -        System.out.println("Server Port : " + req.getServerPort());
  -        
  -        System.out.println();
  -        System.out.println("Attributes");
  -        
  -        Enumeration attributes = req.getAttributeNames();
  -        
  -        while (attributes.hasMoreElements()) {
  -            String attributeName = (String) attributes.nextElement();
  -            System.out.print(attributeName + " : ");
  -            System.out.println(req.getAttribute(attributeName).toString());
  -        }
  -        
  -        System.out.println();
  -        
  -        // Show HTTP info
  -        System.out.println();
  -        System.out.println("HTTP Header Info");
  -        System.out.println();
  -        
  -        System.out.println("Authentication Type : " + req.getAuthType());
  -        System.out.println("HTTP Method : " + req.getMethod());
  -        System.out.println("Path Info : " + req.getPathInfo());
  -        System.out.println("Path translated : " + req.getPathTranslated());
  -        System.out.println("Query string : " + req.getQueryString());
  -        System.out.println("Remote user : " + req.getRemoteUser());
  -        System.out.println("Requested session id : "
  -                               + req.getRequestedSessionId());
  -        System.out.println("Request URI : " + req.getRequestURI());
  -        System.out.println("Context path : " + req.getContextPath());
  -            System.out.println("Servlet path : " + req.getServletPath());
  -            System.out.println("User principal : " + req.getUserPrincipal());
  -            
  -        
  -        System.out.println();
  -        System.out.println("Headers : ");
  -        
  -        Enumeration headers = req.getHeaderNames();
  -        
  -        while (headers.hasMoreElements()) {
  -            String headerName = (String) headers.nextElement();
  -            System.out.print(headerName + " : ");
  -            System.out.println(req.getHeader(headerName));
  -        }
  -        
  -        // Show session info
  -        HttpSession session = req.getSession(false);
  -            
  -        System.out.println();
  -        System.out.println("End Request Info");
  -        System.out.println();
  -        System.out.println();
       
  -    }
  -
  -    
  -   
  -    /**
  -     * Show HTTP header information.
  -     */
  -    private void showResponseInfo(HttpServletResponse req) {
  -    
  -        System.out.println();
  -        System.out.println("SlideDAV Response Info");
  -        System.out.println();
  -        
  -        // Show generic info
  -        System.out.println("Encoding    : " + req.getCharacterEncoding());
  -        System.out.println("Buffer size : " + req.getBufferSize());
  -        
  -        System.out.println();
  -        System.out.println("End Response Info");
  -        System.out.println();
  -        System.out.println();
  -    
  -    }
       
       
  -    
  -    
  -    
  -    
  -    
  -    
       /**
        * Create Slide Method form the HTTP Method.
        *
  @@ -244,8 +135,8 @@
        * @exception WebdavException
        */
       private WebdavMethod createWebdavMethod
  -    (HttpServletRequest req, HttpServletResponse resp)
  -    throws WebdavException {
  +        (HttpServletRequest req, HttpServletResponse resp)
  +        throws WebdavException {
           
           String methodName = req.getMethod();
           
  @@ -282,9 +173,9 @@
           if (resultMethod == null) {
               throw new WebdavException(WebdavStatus.SC_BAD_REQUEST);
           }
  -            
  +        
           return resultMethod;
  -    
  +        
       }
       
       
  @@ -294,8 +185,16 @@
       protected void service (HttpServletRequest req, HttpServletResponse resp)
           throws ServletException, IOException {
           
  -        //showRequestInfo(req);
           long startTime = System.currentTimeMillis();
  +        
  +
  +        
  +        //  if logging for the request/response is required initialise the facades
  +        if (Domain.isEnabled("org.apache.slide.webdav.WebdavServlet.requestResponseLogger", Logger.DEBUG)) {
  +            if ( req != null )  req  = new XHttpServletRequestFacade(req);
  +            if ( resp != null ) resp = new XHttpServletResponseFacade(resp);
  +        }
  +        
           resp.setStatus(WebdavStatus.SC_OK);
           
           WebdavMethod method = null;
  @@ -313,15 +212,23 @@
               // If something goes really wrong ...
               e.printStackTrace();
           }
  -
  -            
  -        //showResponseInfo(resp);
  -            
  +        
  +        
  +        //  if logging for the request/response is required perform the logging
  +        if (Domain.isEnabled("org.apache.slide.webdav.WebdavServlet.requestResponseLogger", Logger.DEBUG)) {
  +            XMLTestCaseGenerator xmlGen = new XMLTestCaseGenerator((XHttpServletRequestFacade)req,
  +                                                                   (XHttpServletResponseFacade)resp);
  +            xmlGen.setThreadName(Thread.currentThread().getName());
  +            Domain.log(xmlGen.toString(), "org.apache.slide.webdav.WebdavServlet.requestResponseLogger" , Logger.DEBUG);
  +        }
  +        
           Domain.info
               (req.getMethod()
  -             //+ " = " + resp.get  // wanted to print the status code of this webdav call
  -             + " (time: " + (System.currentTimeMillis() - startTime) + " ms)"
  -             + " URI = " + WebdavMethod.getRelativePath(req));
  +                 + ( (resp instanceof XHttpServletResponseFacade) ? (" = " + ((XHttpServletResponseFacade)resp).getStatus()
  +                                                                     + " " + (org.apache.slide.webdav.common.WebdavStatus.getStatusText(((XHttpServletResponseFacade)resp).getStatus())))
  +                                                                  : ("") )
  +                 + " (time: " + (System.currentTimeMillis() - startTime) + " ms)"
  +                 + " URI = " + WebdavMethod.getRelativePath(req));
           
       }
       
  @@ -339,23 +246,23 @@
           String value = null;
           try {
               value = getServletConfig().getInitParameter("namespace");
  -                if (value != null)
  -                    namespaceName = value;
  -            } catch (Throwable t) {
  +            if (value != null)
  +                namespaceName = value;
  +        } catch (Throwable t) {
               ;
           }
           try {
               value = getServletConfig().getInitParameter("domain");
  -                if (value != null)
  -                    domainConfigFile = value;
  -            } catch (Throwable t) {
  +            if (value != null)
  +                domainConfigFile = value;
  +        } catch (Throwable t) {
               ;
           }
           try {
               value = getServletConfig().getInitParameter("manager");
  -                if (value != null)
  -                    managerServletPath = value;
  -            } catch (Throwable t) {
  +            if (value != null)
  +                managerServletPath = value;
  +        } catch (Throwable t) {
               ;
           }
           
  @@ -401,5 +308,6 @@
       }
       
   }
  +