Class JSONAccessLogRequestHandler

java.lang.Object
com.unboundid.ldap.listener.LDAPListenerRequestHandler
com.unboundid.ldap.listener.JSONAccessLogRequestHandler
All Implemented Interfaces:
SearchEntryTransformer

This class provides a request handler that may be used to log each request and result using the Java logging framework. Messages will be formatted as JSON objects. It will be also be associated with another request handler that will actually be used to handle the request.
  • Constructor Details

    • JSONAccessLogRequestHandler

      Creates a new JSON-formatted access log request handler that will log request and result messages using the provided log handler, and will process client requests using the provided request handler.
      Parameters:
      logHandler - The log handler that will be used to log request and result messages. Note that all messages will be logged at the INFO level. It must not be null. Note that the log handler will not be automatically closed when the associated listener is shut down.
      requestHandler - The request handler that will actually be used to process any requests received. It must not be null.
  • Method Details

    • newInstance

      Creates a new instance of this request handler that will be used to process requests read by the provided connection.
      Specified by:
      newInstance in class LDAPListenerRequestHandler
      Parameters:
      connection - The connection with which this request handler instance will be associated.
      Returns:
      The request handler instance that will be used for the provided connection.
      Throws:
      LDAPException - If the connection should not be accepted.
    • closeInstance

      public void closeInstance()
      Indicates that the client connection with which this request handler instance is associated is being closed and any resources associated with it should be released.
      Overrides:
      closeInstance in class LDAPListenerRequestHandler
    • processAbandonRequest

      public void processAbandonRequest(int messageID, @NotNull AbandonRequestProtocolOp request, @NotNull List<Control> controls)
      Performs any processing necessary for the provided abandon request.
      Overrides:
      processAbandonRequest in class LDAPListenerRequestHandler
      Parameters:
      messageID - The message ID of the LDAP message containing the abandon request.
      request - The abandon request that was included in the LDAP message that was received.
      controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
    • processAddRequest

      Performs any processing necessary for the provided add request.
      Specified by:
      processAddRequest in class LDAPListenerRequestHandler
      Parameters:
      messageID - The message ID of the LDAP message containing the add request.
      request - The add request that was included in the LDAP message that was received.
      controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
      Returns:
      The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an AddResponseProtocolOp.
    • processBindRequest

      Performs any processing necessary for the provided bind request.
      Specified by:
      processBindRequest in class LDAPListenerRequestHandler
      Parameters:
      messageID - The message ID of the LDAP message containing the bind request.
      request - The bind request that was included in the LDAP message that was received.
      controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
      Returns:
      The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be a BindResponseProtocolOp.
    • processCompareRequest

      Performs any processing necessary for the provided compare request.
      Specified by:
      processCompareRequest in class LDAPListenerRequestHandler
      Parameters:
      messageID - The message ID of the LDAP message containing the compare request.
      request - The compare request that was included in the LDAP message that was received.
      controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
      Returns:
      The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be a CompareResponseProtocolOp.
    • processDeleteRequest

      Performs any processing necessary for the provided delete request.
      Specified by:
      processDeleteRequest in class LDAPListenerRequestHandler
      Parameters:
      messageID - The message ID of the LDAP message containing the delete request.
      request - The delete request that was included in the LDAP message that was received.
      controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
      Returns:
      The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be a DeleteResponseProtocolOp.
    • processExtendedRequest

      Performs any processing necessary for the provided extended request.
      Specified by:
      processExtendedRequest in class LDAPListenerRequestHandler
      Parameters:
      messageID - The message ID of the LDAP message containing the extended request.
      request - The extended request that was included in the LDAP message that was received.
      controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
      Returns:
      The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an ExtendedResponseProtocolOp.
    • processModifyRequest

      Performs any processing necessary for the provided modify request.
      Specified by:
      processModifyRequest in class LDAPListenerRequestHandler
      Parameters:
      messageID - The message ID of the LDAP message containing the modify request.
      request - The modify request that was included in the LDAP message that was received.
      controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
      Returns:
      The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an ModifyResponseProtocolOp.
    • processModifyDNRequest

      Performs any processing necessary for the provided modify DN request.
      Specified by:
      processModifyDNRequest in class LDAPListenerRequestHandler
      Parameters:
      messageID - The message ID of the LDAP message containing the modify DN request.
      request - The modify DN request that was included in the LDAP message that was received.
      controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
      Returns:
      The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an ModifyDNResponseProtocolOp.
    • processSearchRequest

      Performs any processing necessary for the provided search request.
      Specified by:
      processSearchRequest in class LDAPListenerRequestHandler
      Parameters:
      messageID - The message ID of the LDAP message containing the search request.
      request - The search request that was included in the LDAP message that was received.
      controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
      Returns:
      The LDAPMessage containing the response to send to the client. The protocol op in the LDAPMessage must be an SearchResultDoneProtocolOp.
    • processUnbindRequest

      public void processUnbindRequest(int messageID, @NotNull UnbindRequestProtocolOp request, @NotNull List<Control> controls)
      Performs any processing necessary for the provided unbind request.
      Overrides:
      processUnbindRequest in class LDAPListenerRequestHandler
      Parameters:
      messageID - The message ID of the LDAP message containing the search request.
      request - The search request that was included in the LDAP message that was received.
      controls - The set of controls included in the LDAP message. It may be empty if there were no controls, but will not be null.
    • transformEntry

      Transforms the provided search result entry and/or set of controls to alter what will be returned to the client.
      Specified by:
      transformEntry in interface SearchEntryTransformer
      Parameters:
      messageID - The message ID for the associated search operation.
      entry - The search result entry to be processed. It will not be null.
      controls - The set of controls to be processed. It will not be null but may be empty if there are no controls.
      Returns:
      An ObjectPair containing a possibly updated entry and set of controls, or null to indicate that the entry should not be returned to the client.