Class LDAPListenerRequestHandler

java.lang.Object
com.unboundid.ldap.listener.LDAPListenerRequestHandler
Direct Known Subclasses:
AccessLogRequestHandler, CannedResponseRequestHandler, ConcurrentRequestLimiterRequestHandler, InMemoryOperationInterceptorRequestHandler, InMemoryRequestHandler, JSONAccessLogRequestHandler, LDAPDebuggerRequestHandler, ProxyRequestHandler, RateLimiterRequestHandler, StartTLSRequestHandler, ToCodeRequestHandler

This class defines an API that may be used to process requests read from a client connection. A separate instance of this class, obtained through the newInstance(com.unboundid.ldap.listener.LDAPListenerClientConnection) method, will be used for each connection created by an LDAPListener.
  • Constructor Details

  • Method Details

    • newInstance

      Creates a new instance of this request handler that will be used to process requests read by the provided connection.
      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.
    • processAbandonRequest

      public void processAbandonRequest(int messageID, @NotNull AbandonRequestProtocolOp request, @NotNull List<Control> controls)
      Performs any processing necessary for the provided abandon request.
      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

      @NotNull public abstract LDAPMessage processAddRequest(int messageID, @NotNull AddRequestProtocolOp request, @NotNull List<Control> controls)
      Performs any processing necessary for the provided add request.
      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

      @NotNull public abstract LDAPMessage processBindRequest(int messageID, @NotNull BindRequestProtocolOp request, @NotNull List<Control> controls)
      Performs any processing necessary for the provided bind request.
      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

      @NotNull public abstract LDAPMessage processCompareRequest(int messageID, @NotNull CompareRequestProtocolOp request, @NotNull List<Control> controls)
      Performs any processing necessary for the provided compare request.
      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

      @NotNull public abstract LDAPMessage processDeleteRequest(int messageID, @NotNull DeleteRequestProtocolOp request, @NotNull List<Control> controls)
      Performs any processing necessary for the provided delete request.
      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

      @NotNull public abstract LDAPMessage processExtendedRequest(int messageID, @NotNull ExtendedRequestProtocolOp request, @NotNull List<Control> controls)
      Performs any processing necessary for the provided extended request.
      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

      @NotNull public abstract LDAPMessage processModifyRequest(int messageID, @NotNull ModifyRequestProtocolOp request, @NotNull List<Control> controls)
      Performs any processing necessary for the provided modify request.
      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

      @NotNull public abstract LDAPMessage processModifyDNRequest(int messageID, @NotNull ModifyDNRequestProtocolOp request, @NotNull List<Control> controls)
      Performs any processing necessary for the provided modify DN request.
      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

      @NotNull public abstract LDAPMessage processSearchRequest(int messageID, @NotNull SearchRequestProtocolOp request, @NotNull List<Control> controls)
      Performs any processing necessary for the provided search request.
      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.
      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.