Femto Web Server V1.4-F

dfischer.femtowebserver.filter
Class HttpDebugFilter

java.lang.Object
  |
  +--dfischer.femtowebserver.httpd.HttpdFilter
        |
        +--dfischer.femtowebserver.filter.HttpDebugFilter

public class HttpDebugFilter
extends HttpdFilter

This filter writes all details of the HTTP requests and the HTTP responses to the log output.

 Configuration Example:
 ...
 ...
 Httpd httpdThread = new Httpd();

 // configure femto web server
 String serverName = "127.0.0.1";
 try { serverName = InetAddress.getLocalHost().getHostName(); } catch (Exception ex) {}
 httpdThread.setServerName(serverName);
 httpdThread.setServerPort(80);
 
 httpdThread.addFilter("dfischer.femtowebserver.filter.HttpDebugFilter");
 ...
 ...
 

 Log Output Example:

 13 May 2003 22:14:36.875 | fischer T000000 | -> dump(): GET / HTTP/1.1
 13 May 2003 22:14:36.875 | fischer T000000 | -> dump(): Accept: */*
 13 May 2003 22:14:36.875 | fischer T000000 | -> dump(): Accept-Language: de-ch
 13 May 2003 22:14:36.875 | fischer T000000 | -> dump(): Accept-Encoding: gzip, deflate
 13 May 2003 22:14:36.875 | fischer T000000 | -> dump(): User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
 13 May 2003 22:14:36.875 | fischer T000000 | -> dump(): Host: www.d-fischer.com:83
 13 May 2003 22:14:36.875 | fischer T000000 | -> dump(): Connection: Keep-Alive
 13 May 2003 22:14:36.875 | fischer T000000 | 127.0.0.1 GET / 200
 13 May 2003 22:14:36.875 | fischer T000000 | <- dump(): HTTP/1.0 200 OK
 13 May 2003 22:14:36.875 | fischer T000000 | <- dump(): Server: Femto Web Server/1.4-A www.d-fischer.com
 13 May 2003 22:14:36.875 | fischer T000000 | <- dump(): Content-Type: TEXT/HTML
 13 May 2003 22:14:36.875 | fischer T000000 | <- dump(): Content-Length: 39
 13 May 2003 22:14:36.875 | fischer T000000 | <- dump(): Connection: close
 13 May 2003 22:14:36.875 | fischer T000000 | <- dump(): <HTML>
 13 May 2003 22:14:36.875 | fischer T000000 | <- dump(): <BODY>
 13 May 2003 22:14:36.875 | fischer T000000 | <- dump(): Hello
 13 May 2003 22:14:36.875 | fischer T000000 | <- dump(): </BODY>
 13 May 2003 22:14:36.875 | fischer T000000 | <- dump(): </HTML>
 
 
 Sourcecode of Filter:

 package dfischer.femtowebserver.filter;
 import dfischer.femtowebserver.httpd.*;

 public class HttpDebugFilter extends HttpdFilter
 {
      public void filterRequest(HttpRequest httpRequest, HttpResponse httpResponse) throws Exception
      {
          httpRequest.dump();
      }

      public void filterResponse(HttpRequest httpRequest, HttpResponse httpResponse) throws Exception
      {
          httpResponse.dump();
      }
 }
 

See Also:
Httpd.setLogStream(java.io.PrintStream), ContentCompressionFilter, RestrictedInetAddressFilter, HttpSessionCookieHandler, HttpdFilter

Constructor Summary
HttpDebugFilter()
           
 
Method Summary
 void filterRequest(HttpRequest httpRequest, HttpResponse httpResponse)
          Allows filtering tasks on the HTTP request and to preset the HTTP response (at his time blank).
 void filterResponse(HttpRequest httpRequest, HttpResponse httpResponse)
          Allows filtering tasks on the HTTP response and to access the HTTP request.
 
Methods inherited from class dfischer.femtowebserver.httpd.HttpdFilter
abortRequest, getFilterArguments, getHttpdProperties
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HttpDebugFilter

public HttpDebugFilter()
Method Detail

filterRequest

public void filterRequest(HttpRequest httpRequest,
                          HttpResponse httpResponse)
                   throws java.lang.Exception
Description copied from class: HttpdFilter
Allows filtering tasks on the HTTP request and to preset the HTTP response (at his time blank). Consider that some or all parts of the HTTP response will later be overwritten when the (modified) request is processed by the Femto Web Server.
Overrides:
filterRequest in class HttpdFilter
Following copied from class: dfischer.femtowebserver.httpd.HttpdFilter
Parameters:
httpRequest - The HTTP request data (browser request)
HttpResponse - The HTTP response data (server response)
See Also:
HttpRequest.getSession(), HttpRequest.setSession(dfischer.femtowebserver.httpd.HttpdSession), HttpRequest.getRemoteAddress(), HttpRequest.setRemoteAddress(java.lang.String), HttpRequest.getVirtualHost(), HttpRequest.setVirtualHost(java.lang.String), HttpRequest.getVirtualPort(), HttpRequest.setVirtualPort(int), HttpRequest.getUserAgent(), HttpRequest.setUserAgent(java.lang.String), HttpRequest.getHeaderField(java.lang.String), HttpRequest.addHeaderField(java.lang.String, java.lang.String), HttpRequest.updateHeaderField(java.lang.String, java.lang.String), HttpRequest.removeHeaderField(java.lang.String), HttpRequest.getMethod(), HttpRequest.setMethod(java.lang.String), HttpRequest.getRequest(), HttpRequest.setRequest(java.lang.String), HttpRequest.getParameter(String), HttpRequest.addParameter(java.lang.String, java.lang.String), HttpRequest.updateParameter(java.lang.String, java.lang.String), HttpRequest.removeParameter(java.lang.String), HttpRequest.getContent(), HttpRequest.setContent(byte[]), HttpRequest.clearContent(), HttpRequest.getContentType(), HttpRequest.setContentType(java.lang.String), HttpRequest.getContentSubtype(), HttpRequest.setContentSubtype(java.lang.String)

filterResponse

public void filterResponse(HttpRequest httpRequest,
                           HttpResponse httpResponse)
                    throws java.lang.Exception
Description copied from class: HttpdFilter
Allows filtering tasks on the HTTP response and to access the HTTP request. Consider that modifying the HTTP request will have no impact to the HTTP response result because the request has been already processed by the Femto Web Server.
Overrides:
filterResponse in class HttpdFilter
Following copied from class: dfischer.femtowebserver.httpd.HttpdFilter
Parameters:
httpRequest - The HTTP request data (browser request)
HttpResponse - The HTTP response data (server response)
See Also:
HttpResponse.getSession(), HttpResponse.setSession(dfischer.femtowebserver.httpd.HttpdSession), HttpResponse.getStatus(), HttpResponse.setStatus(int, java.lang.String), HttpResponse.getContentType(), HttpResponse.getContentSubtype(), HttpResponse.setContentType(java.lang.String), HttpResponse.getHeaderField(java.lang.String), HttpResponse.getHeaderFieldNames(), HttpResponse.updateHeaderField(java.lang.String, java.lang.String), HttpResponse.addHeaderField(java.lang.String, java.lang.String), HttpResponse.removeHeaderField(java.lang.String), HttpResponse.getContent(), HttpResponse.getContentAsString(), HttpResponse.setContent(byte[]), HttpResponse.clearContent(), HttpResponse.print(String), HttpResponse.println(String)

Femto Web Server V1.4-F

Copyright 2002, 2003, 2006 by Ingenieurbüro David Fischer GmbH, Switzerland. All rights reserved.