Class LoggingCorsHttpServer


  • public class LoggingCorsHttpServer
    extends CorsHttpServer
    CorsHttpServer subclass which performs logging to a given print stream at the HTTP level. Logging is not done through the logging system.
    Since:
    2 Feb 2011
    Author:
    Mark Taylor
    • Field Detail

      • out_

        private final java.io.PrintStream out_
      • iSeq_

        private int iSeq_
    • Constructor Detail

      • LoggingCorsHttpServer

        public LoggingCorsHttpServer​(java.net.ServerSocket socket,
                                     OriginAuthorizer auth,
                                     java.io.PrintStream out)
                              throws java.io.IOException
        Constructor.
        Parameters:
        socket - socket hosting the service
        auth - defines which domains requests will be permitted from
        out - destination stream for logging
        Throws:
        java.io.IOException
    • Method Detail

      • serve

        public HttpServer.Response serve​(HttpServer.Request request)
        Description copied from class: HttpServer
        Does the work for providing output corresponding to a given HTTP request. This implementation calls each Handler in turn and the first one to provide a non-null response is used.
        Overrides:
        serve in class CorsHttpServer
        Parameters:
        request - represents an HTTP request that has been received
        Returns:
        represents the content of an HTTP response that should be sent
      • logRequest

        private void logRequest​(HttpServer.Request request,
                                int iseq)
        Logs a given request.
        Parameters:
        request - HTTP request
        iseq - index of the request; unique integer for each request
      • appendBanner

        private void appendBanner​(java.lang.StringBuffer sbuf,
                                  char c,
                                  int iseq)
        Adds a line to the given stringbuffer which indicates information relating to a given sequence number follows.
        Parameters:
        sbuf - string buffer to add to
        c - filler character
        iseq - sequence number
      • appendHeaders

        private void appendHeaders​(java.lang.StringBuffer sbuf,
                                   java.util.Map map)
        Adds HTTP header information to a string buffer.
        Parameters:
        sbuf - buffer to add lines to
        map - header key->value pair map