Class AccessLoggingRequestHandler
- java.lang.Object
-
- com.yahoo.jdisc.AbstractResource
-
- com.yahoo.jdisc.handler.AbstractRequestHandler
-
- com.yahoo.jdisc.http.server.jetty.AccessLoggingRequestHandler
-
- All Implemented Interfaces:
com.yahoo.jdisc.handler.DelegatedRequestHandler
,com.yahoo.jdisc.handler.RequestHandler
,com.yahoo.jdisc.SharedResource
public class AccessLoggingRequestHandler extends com.yahoo.jdisc.handler.AbstractRequestHandler implements com.yahoo.jdisc.handler.DelegatedRequestHandler
A wrapper RequestHandler that enables access logging. By wrapping the request handler, we are able to wrap the response handler as well. Hence, we can populate the access log entry with information from both the request and the response. This wrapper also adds the access log entry to the request context, so that request handlers may add information to it. Does not otherwise interfere with the request processing of the delegate request handler.- Author:
- bakksjo
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
CONTEXT_KEY_ACCESS_LOG_ENTRY
-
Constructor Summary
Constructors Constructor Description AccessLoggingRequestHandler(com.yahoo.jdisc.handler.RequestHandler delegateRequestHandler, AccessLogEntry accessLogEntry)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.util.Optional<AccessLogEntry>
getAccessLogEntry(HttpRequest jdiscRequest)
static java.util.Optional<AccessLogEntry>
getAccessLogEntry(java.util.Map<java.lang.String,java.lang.Object> requestContextMap)
com.yahoo.jdisc.handler.RequestHandler
getDelegate()
com.yahoo.jdisc.handler.ContentChannel
handleRequest(com.yahoo.jdisc.Request request, com.yahoo.jdisc.handler.ResponseHandler handler)
-
Methods inherited from class com.yahoo.jdisc.AbstractResource
currentState, destroy, refer, refer, release, retainCount
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Constructor Detail
-
AccessLoggingRequestHandler
public AccessLoggingRequestHandler(com.yahoo.jdisc.handler.RequestHandler delegateRequestHandler, AccessLogEntry accessLogEntry)
-
-
Method Detail
-
getAccessLogEntry
public static java.util.Optional<AccessLogEntry> getAccessLogEntry(HttpRequest jdiscRequest)
-
getAccessLogEntry
public static java.util.Optional<AccessLogEntry> getAccessLogEntry(java.util.Map<java.lang.String,java.lang.Object> requestContextMap)
-
handleRequest
public com.yahoo.jdisc.handler.ContentChannel handleRequest(com.yahoo.jdisc.Request request, com.yahoo.jdisc.handler.ResponseHandler handler)
- Specified by:
handleRequest
in interfacecom.yahoo.jdisc.handler.RequestHandler
-
getDelegate
public com.yahoo.jdisc.handler.RequestHandler getDelegate()
- Specified by:
getDelegate
in interfacecom.yahoo.jdisc.handler.DelegatedRequestHandler
-
-