org.apache.synapse.transport.nhttp
Class Access

java.lang.Object
  extended by org.apache.synapse.transport.nhttp.Access

public class Access
extends Object

The class to handle the HTTP Access Logs, patterns and the major functionality. Major Code segment borrowed from Apache Tomcat's org.apache.catalina.valves.AccessLogValve with thanks.


Nested Class Summary
protected static class Access.AcceptCharSetElement
          write the Accept Character Set Element - %S
protected static class Access.AcceptElement
          write the Accept Element - %C
protected static class Access.AcceptEncodingElement
          write the Accept Encoding Element - %e
protected static class Access.AcceptLanguageElement
          write the Accept Language Element - %L
protected static interface Access.AccessLogElement
          AccessLogElement writes the partial message into the buffer.
protected static class Access.ByteSentElement
          write bytes sent, excluding HTTP headers - %b, %B
protected static class Access.ConnectionElement
          write the Connection Element - %x
protected static class Access.ContentEncodingElement
          write the Content Encoding Element - %n
protected static class Access.ContentTypeElement
          write the Content Type Element - %T
protected static class Access.CookieElement
          write a specific cookie - %{xxx}c
protected  class Access.DateAndTimeElement
          write date and time, in Common Log Format - %t
protected static class Access.HeaderElement
          write incoming headers - %{xxx}i
protected static class Access.HostElement
          write remote host name - %h
protected static class Access.HttpStatusCodeElement
          write HTTP status code of the response - %s
protected static class Access.KeepAliveElement
          write the Keep Alive Element - %k
protected static class Access.LocalAddrElement
          write local IP address - %A
protected static class Access.LocalServerNameElement
          write local server name - %v
protected static class Access.LogicalUserNameElement
          write remote logical username from identd (always returns '-') - %l
protected static class Access.MethodElement
          write request method (GET, POST, etc.) - %m
protected static class Access.RefererElement
          write the referer - %f
protected static class Access.RequestAttributeElement
          write an attribute in the ServletRequest - %{xxx}r %R
protected static class Access.RequestElement
          write first line of the request (method and request URI) - %r
protected static class Access.RequestURIElement
          write requested URL path - %U
protected static class Access.ResponseHeaderElement
          write a specific response header - %{xxx}o
protected static class Access.ServerElement
          write the Server Element - %Z
protected static class Access.StringElement
          write any string
protected static class Access.TransferEncodingElement
          write the Transfer Encoding Element - %E
protected static class Access.UserAgentElement
          write the user agent - %a
protected static class Access.UserElement
          write remote user that was authenticated (if any), else '-' - %u
protected static class Access.VaryElement
          write the Vary Element - %V
 
Field Summary
protected  Access.AccessLogElement[] logElements
          Array of AccessLogElement, they will be used to make log message.
protected  String pattern
           
 
Constructor Summary
Access(org.apache.commons.logging.Log log, AccessLogger accessLogger)
          Constructor of AccessLog.
 
Method Summary
 void addAccessToQueue(org.apache.http.HttpRequest request)
          Adds the accesses to the queue.
 void addAccessToQueue(org.apache.http.HttpResponse response)
          Adds the accesses to the queue.
protected  Access.AccessLogElement[] createLogElements()
          parse pattern string and create the array of AccessLogElement
static String getAcceptCharSetElement(org.apache.http.HttpMessage message)
           
static String getAcceptElement(org.apache.http.HttpMessage message)
           
static String getAcceptEncodingElement(org.apache.http.HttpMessage message)
           
static String getAcceptLanguageElement(org.apache.http.HttpMessage message)
           
static String getConnectionElement(org.apache.http.HttpMessage message)
           
static String getContentEncodingElement(org.apache.http.HttpMessage message)
           
static String getContentTypeElement(org.apache.http.HttpMessage message)
           
static String getCookieElement(org.apache.http.HttpMessage message)
           
protected static String getHeaderValues(org.apache.http.HttpMessage message, String name)
          gets the header values from the given message, with the given name.
static String getHostElement(org.apache.http.HttpMessage message)
           
static String getKeepAliveElement(org.apache.http.HttpMessage message)
           
static String getLogicalUserNameElement(org.apache.http.HttpMessage message)
           
static String getRefererElement(org.apache.http.HttpMessage message)
           
static String getServerElement(org.apache.http.HttpMessage message)
           
static String getTransferEncodingElement(org.apache.http.HttpMessage message)
           
static String getUserAgentElement(org.apache.http.HttpMessage message)
           
static String getUserNameElement(org.apache.http.HttpMessage message)
           
static String getVaryElement(org.apache.http.HttpMessage message)
           
 void log(org.apache.http.HttpRequest request, org.apache.http.HttpResponse response)
          The log method that is called from the NHttpClient and Server connection classes.
 void logAccesses()
          logs the request and response accesses.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logElements

protected Access.AccessLogElement[] logElements
Array of AccessLogElement, they will be used to make log message.


pattern

protected String pattern
Constructor Detail

Access

public Access(org.apache.commons.logging.Log log,
              AccessLogger accessLogger)
Constructor of AccessLog. AccessHandler has a static object of Access.

Parameters:
log - - Log passed as a param. Default is Log of the same class.
accessLogger - - AccessLogger Object
Method Detail

addAccessToQueue

public void addAccessToQueue(org.apache.http.HttpRequest request)
Adds the accesses to the queue.

Parameters:
request - - HttpRequest

addAccessToQueue

public void addAccessToQueue(org.apache.http.HttpResponse response)
Adds the accesses to the queue.

Parameters:
response - - HttpResponse

logAccesses

public void logAccesses()
logs the request and response accesses.


log

public void log(org.apache.http.HttpRequest request,
                org.apache.http.HttpResponse response)
The log method that is called from the NHttpClient and Server connection classes.

Parameters:
request - - HttpRequest
response - - HttpResponse

getHeaderValues

protected static String getHeaderValues(org.apache.http.HttpMessage message,
                                        String name)
gets the header values from the given message, with the given name.

Parameters:
message - - The message, HttpRequest or HttpResponse
name - - The header, which we need to get the value of.
Returns:
- The header value.

getHostElement

public static String getHostElement(org.apache.http.HttpMessage message)

getLogicalUserNameElement

public static String getLogicalUserNameElement(org.apache.http.HttpMessage message)

getUserNameElement

public static String getUserNameElement(org.apache.http.HttpMessage message)

getCookieElement

public static String getCookieElement(org.apache.http.HttpMessage message)

getRefererElement

public static String getRefererElement(org.apache.http.HttpMessage message)

getUserAgentElement

public static String getUserAgentElement(org.apache.http.HttpMessage message)

getAcceptElement

public static String getAcceptElement(org.apache.http.HttpMessage message)

getAcceptLanguageElement

public static String getAcceptLanguageElement(org.apache.http.HttpMessage message)

getAcceptEncodingElement

public static String getAcceptEncodingElement(org.apache.http.HttpMessage message)

getAcceptCharSetElement

public static String getAcceptCharSetElement(org.apache.http.HttpMessage message)

getConnectionElement

public static String getConnectionElement(org.apache.http.HttpMessage message)

getContentTypeElement

public static String getContentTypeElement(org.apache.http.HttpMessage message)

getKeepAliveElement

public static String getKeepAliveElement(org.apache.http.HttpMessage message)

getTransferEncodingElement

public static String getTransferEncodingElement(org.apache.http.HttpMessage message)

getContentEncodingElement

public static String getContentEncodingElement(org.apache.http.HttpMessage message)

getVaryElement

public static String getVaryElement(org.apache.http.HttpMessage message)

getServerElement

public static String getServerElement(org.apache.http.HttpMessage message)

createLogElements

protected Access.AccessLogElement[] createLogElements()
parse pattern string and create the array of AccessLogElement

Returns:
Array of AccessLogElement


Copyright © 2005-2012 Apache Software Foundation. All Rights Reserved.