Package com.unboundid.ldap.listener
Class LDAPListenerRequestHandler
java.lang.Object
com.unboundid.ldap.listener.LDAPListenerRequestHandler
- Direct Known Subclasses:
AccessLogRequestHandler,CannedResponseRequestHandler,ConcurrentRequestLimiterRequestHandler,InMemoryOperationInterceptorRequestHandler,InMemoryRequestHandler,JSONAccessLogRequestHandler,LDAPDebuggerRequestHandler,ProxyRequestHandler,RateLimiterRequestHandler,StartTLSRequestHandler,ToCodeRequestHandler
@Extensible
@ThreadSafety(level=INTERFACE_NOT_THREADSAFE)
public abstract class LDAPListenerRequestHandler
extends Object
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidIndicates that the client connection with which this request handler instance is associated is being closed and any resources associated with it should be released.abstract LDAPListenerRequestHandlernewInstance(LDAPListenerClientConnection connection) Creates a new instance of this request handler that will be used to process requests read by the provided connection.voidprocessAbandonRequest(int messageID, AbandonRequestProtocolOp request, List<Control> controls) Performs any processing necessary for the provided abandon request.abstract LDAPMessageprocessAddRequest(int messageID, AddRequestProtocolOp request, List<Control> controls) Performs any processing necessary for the provided add request.abstract LDAPMessageprocessBindRequest(int messageID, BindRequestProtocolOp request, List<Control> controls) Performs any processing necessary for the provided bind request.abstract LDAPMessageprocessCompareRequest(int messageID, CompareRequestProtocolOp request, List<Control> controls) Performs any processing necessary for the provided compare request.abstract LDAPMessageprocessDeleteRequest(int messageID, DeleteRequestProtocolOp request, List<Control> controls) Performs any processing necessary for the provided delete request.abstract LDAPMessageprocessExtendedRequest(int messageID, ExtendedRequestProtocolOp request, List<Control> controls) Performs any processing necessary for the provided extended request.abstract LDAPMessageprocessModifyDNRequest(int messageID, ModifyDNRequestProtocolOp request, List<Control> controls) Performs any processing necessary for the provided modify DN request.abstract LDAPMessageprocessModifyRequest(int messageID, ModifyRequestProtocolOp request, List<Control> controls) Performs any processing necessary for the provided modify request.abstract LDAPMessageprocessSearchRequest(int messageID, SearchRequestProtocolOp request, List<Control> controls) Performs any processing necessary for the provided search request.voidprocessUnbindRequest(int messageID, UnbindRequestProtocolOp request, List<Control> controls) Performs any processing necessary for the provided unbind request.
-
Constructor Details
-
LDAPListenerRequestHandler
public LDAPListenerRequestHandler()
-
-
Method Details
-
newInstance
@NotNull public abstract LDAPListenerRequestHandler newInstance(@NotNull LDAPListenerClientConnection connection) throws LDAPException 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
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 benull.
-
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 benull.- Returns:
- The
LDAPMessagecontaining the response to send to the client. The protocol op in theLDAPMessagemust be anAddResponseProtocolOp.
-
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 benull.- Returns:
- The
LDAPMessagecontaining the response to send to the client. The protocol op in theLDAPMessagemust be aBindResponseProtocolOp.
-
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 benull.- Returns:
- The
LDAPMessagecontaining the response to send to the client. The protocol op in theLDAPMessagemust be aCompareResponseProtocolOp.
-
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 benull.- Returns:
- The
LDAPMessagecontaining the response to send to the client. The protocol op in theLDAPMessagemust be aDeleteResponseProtocolOp.
-
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 benull.- Returns:
- The
LDAPMessagecontaining the response to send to the client. The protocol op in theLDAPMessagemust be anExtendedResponseProtocolOp.
-
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 benull.- Returns:
- The
LDAPMessagecontaining the response to send to the client. The protocol op in theLDAPMessagemust be anModifyResponseProtocolOp.
-
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 benull.- Returns:
- The
LDAPMessagecontaining the response to send to the client. The protocol op in theLDAPMessagemust be anModifyDNResponseProtocolOp.
-
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 benull.- Returns:
- The
LDAPMessagecontaining the response to send to the client. The protocol op in theLDAPMessagemust be anSearchResultDoneProtocolOp.
-
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 benull.
-