@ThreadSafety(level=NOT_THREADSAFE) public final class StartTLSRequestHandler extends LDAPListenerRequestHandler
Constructor and Description |
---|
StartTLSRequestHandler(javax.net.ssl.SSLSocketFactory sslSocketFactory,
LDAPListenerRequestHandler requestHandler)
Creates a new StartTLS request handler with the provided information.
|
StartTLSRequestHandler(javax.net.ssl.SSLSocketFactory sslSocketFactory,
LDAPListenerRequestHandler requestHandler,
boolean requestClientCertificate,
boolean requireClientCertificate)
Creates a new StartTLS request handler with the provided information.
|
Modifier and Type | Method and Description |
---|---|
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.
|
StartTLSRequestHandler |
newInstance(LDAPListenerClientConnection connection)
Creates a new instance of this request handler that will be used to process
requests read by the provided connection.
|
void |
processAbandonRequest(int messageID,
AbandonRequestProtocolOp request,
java.util.List<Control> controls)
Performs any processing necessary for the provided abandon request.
|
LDAPMessage |
processAddRequest(int messageID,
AddRequestProtocolOp request,
java.util.List<Control> controls)
Performs any processing necessary for the provided add request.
|
LDAPMessage |
processBindRequest(int messageID,
BindRequestProtocolOp request,
java.util.List<Control> controls)
Performs any processing necessary for the provided bind request.
|
LDAPMessage |
processCompareRequest(int messageID,
CompareRequestProtocolOp request,
java.util.List<Control> controls)
Performs any processing necessary for the provided compare request.
|
LDAPMessage |
processDeleteRequest(int messageID,
DeleteRequestProtocolOp request,
java.util.List<Control> controls)
Performs any processing necessary for the provided delete request.
|
LDAPMessage |
processExtendedRequest(int messageID,
ExtendedRequestProtocolOp request,
java.util.List<Control> controls)
Performs any processing necessary for the provided extended request.
|
LDAPMessage |
processModifyDNRequest(int messageID,
ModifyDNRequestProtocolOp request,
java.util.List<Control> controls)
Performs any processing necessary for the provided modify DN request.
|
LDAPMessage |
processModifyRequest(int messageID,
ModifyRequestProtocolOp request,
java.util.List<Control> controls)
Performs any processing necessary for the provided modify request.
|
LDAPMessage |
processSearchRequest(int messageID,
SearchRequestProtocolOp request,
java.util.List<Control> controls)
Performs any processing necessary for the provided search request.
|
void |
processUnbindRequest(int messageID,
UnbindRequestProtocolOp request,
java.util.List<Control> controls)
Performs any processing necessary for the provided unbind request.
|
public StartTLSRequestHandler(@NotNull javax.net.ssl.SSLSocketFactory sslSocketFactory, @NotNull LDAPListenerRequestHandler requestHandler)
sslSocketFactory
- The SSL socket factory that will be used to
convert the existing socket to use SSL
encryption.requestHandler
- The request handler that will be used to process
all operations except StartTLS extended
operations.public StartTLSRequestHandler(@NotNull javax.net.ssl.SSLSocketFactory sslSocketFactory, @NotNull LDAPListenerRequestHandler requestHandler, boolean requestClientCertificate, boolean requireClientCertificate)
sslSocketFactory
- The SSL socket factory that will be used
to convert the existing socket to use SSL
encryption.requestHandler
- The request handler that will be used to
process all operations except StartTLS
extended operations.requestClientCertificate
- Indicates whether the listener should
request that the client present its own
certificate chain during TLS negotiation.
This will be ignored for non-TLS-based
connections.requireClientCertificate
- Indicates whether the listener should
require that the client present its own
certificate chain during TLS negotiation,
and should fail negotiation if the client
does not present one. This will be
ignored for non-TLS-based connections or
if requestClientCertificate
is
false
.@NotNull public StartTLSRequestHandler newInstance(@NotNull LDAPListenerClientConnection connection) throws LDAPException
newInstance
in class LDAPListenerRequestHandler
connection
- The connection with which this request handler instance
will be associated.LDAPException
- If the connection should not be accepted.public void closeInstance()
closeInstance
in class LDAPListenerRequestHandler
public void processAbandonRequest(int messageID, @NotNull AbandonRequestProtocolOp request, @NotNull java.util.List<Control> controls)
processAbandonRequest
in class LDAPListenerRequestHandler
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
.@NotNull public LDAPMessage processAddRequest(int messageID, @NotNull AddRequestProtocolOp request, @NotNull java.util.List<Control> controls)
processAddRequest
in class LDAPListenerRequestHandler
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
.LDAPMessage
containing the response to send to the
client. The protocol op in the LDAPMessage
must be an
AddResponseProtocolOp
.@NotNull public LDAPMessage processBindRequest(int messageID, @NotNull BindRequestProtocolOp request, @NotNull java.util.List<Control> controls)
processBindRequest
in class LDAPListenerRequestHandler
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
.LDAPMessage
containing the response to send to the
client. The protocol op in the LDAPMessage
must be a
BindResponseProtocolOp
.@NotNull public LDAPMessage processCompareRequest(int messageID, @NotNull CompareRequestProtocolOp request, @NotNull java.util.List<Control> controls)
processCompareRequest
in class LDAPListenerRequestHandler
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
.LDAPMessage
containing the response to send to the
client. The protocol op in the LDAPMessage
must be a
CompareResponseProtocolOp
.@NotNull public LDAPMessage processDeleteRequest(int messageID, @NotNull DeleteRequestProtocolOp request, @NotNull java.util.List<Control> controls)
processDeleteRequest
in class LDAPListenerRequestHandler
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
.LDAPMessage
containing the response to send to the
client. The protocol op in the LDAPMessage
must be a
DeleteResponseProtocolOp
.@NotNull public LDAPMessage processExtendedRequest(int messageID, @NotNull ExtendedRequestProtocolOp request, @NotNull java.util.List<Control> controls)
processExtendedRequest
in class LDAPListenerRequestHandler
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
.LDAPMessage
containing the response to send to the
client. The protocol op in the LDAPMessage
must be an
ExtendedResponseProtocolOp
.@NotNull public LDAPMessage processModifyRequest(int messageID, @NotNull ModifyRequestProtocolOp request, @NotNull java.util.List<Control> controls)
processModifyRequest
in class LDAPListenerRequestHandler
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
.LDAPMessage
containing the response to send to the
client. The protocol op in the LDAPMessage
must be an
ModifyResponseProtocolOp
.@NotNull public LDAPMessage processModifyDNRequest(int messageID, @NotNull ModifyDNRequestProtocolOp request, @NotNull java.util.List<Control> controls)
processModifyDNRequest
in class LDAPListenerRequestHandler
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
.LDAPMessage
containing the response to send to the
client. The protocol op in the LDAPMessage
must be an
ModifyDNResponseProtocolOp
.@NotNull public LDAPMessage processSearchRequest(int messageID, @NotNull SearchRequestProtocolOp request, @NotNull java.util.List<Control> controls)
processSearchRequest
in class LDAPListenerRequestHandler
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
.LDAPMessage
containing the response to send to the
client. The protocol op in the LDAPMessage
must be an
SearchResultDoneProtocolOp
.public void processUnbindRequest(int messageID, @NotNull UnbindRequestProtocolOp request, @NotNull java.util.List<Control> controls)
processUnbindRequest
in class LDAPListenerRequestHandler
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
.