Class HttpConnectionHandlerCfgDefn

    • Method Detail

      • getInstance

        public static HttpConnectionHandlerCfgDefn getInstance()
        Get the HTTP Connection Handler configuration definition singleton.
        Returns:
        Returns the HTTP Connection Handler configuration definition singleton.
      • getAcceptBacklogPropertyDefinition

        public IntegerPropertyDefinition getAcceptBacklogPropertyDefinition()
        Get the "accept-backlog" property definition.

        Specifies the maximum number of pending connection attempts that are allowed to queue up in the accept backlog before the server starts rejecting new connection attempts.

        This is primarily an issue for cases in which a large number of connections are established to the server in a very short period of time (for example, a benchmark utility that creates a large number of client threads that each have their own connection to the server) and the connection handler is unable to keep up with the rate at which the new connections are established.

        Returns:
        Returns the "accept-backlog" property definition.
      • getAdvertisedListenAddressPropertyDefinition

        public HostPropertyDefinition getAdvertisedListenAddressPropertyDefinition()
        Get the "advertised-listen-address" property definition.

        The advertised address(es) which clients should use for connecting to this HTTP Connection Handler.

        Multiple addresses may be provided as separate values for this attribute. The meta-address 0.0.0.0 is not permitted.

        Returns:
        Returns the "advertised-listen-address" property definition.
      • getAllowedClientPropertyDefinition

        public IpAddressMaskPropertyDefinition getAllowedClientPropertyDefinition()
        Get the "allowed-client" property definition.

        A set of clients who will be allowed to establish connections to this HTTP Connection Handler.

        Valid values include a host name, a fully qualified domain name, a domain name, an IP address, or a subnetwork with subnetwork mask. Specifying a value for this property in a connection handler will override any value set in the global configuration.

        Returns:
        Returns the "allowed-client" property definition.
      • getAllowTcpReuseAddressPropertyDefinition

        public BooleanPropertyDefinition getAllowTcpReuseAddressPropertyDefinition()
        Get the "allow-tcp-reuse-address" property definition.

        Indicates whether the HTTP Connection Handler should reuse socket descriptors.

        If enabled, the SO_REUSEADDR socket option is used on the server listen socket to potentially allow the reuse of socket descriptors for clients in a TIME_WAIT state. This may help the server avoid temporarily running out of socket descriptors in cases in which a very large number of short-lived connections have been established from the same client system.

        Returns:
        Returns the "allow-tcp-reuse-address" property definition.
      • getApiDescriptorEnabledPropertyDefinition

        public BooleanPropertyDefinition getApiDescriptorEnabledPropertyDefinition()
        Get the "api-descriptor-enabled" property definition.

        Indicates whether the HTTP Connection Handler should publish Swagger and CREST API descriptors.

        When enabled, API descriptors facilitate development of new client client applications. The API descriptors are not protected and are not recommended for production systems."

        Returns:
        Returns the "api-descriptor-enabled" property definition.
      • getBufferSizePropertyDefinition

        public SizePropertyDefinition getBufferSizePropertyDefinition()
        Get the "buffer-size" property definition.

        Specifies the size in bytes of the HTTP response message write buffer.

        This property specifies write buffer size allocated by the server for each client connection and used to buffer HTTP response messages data when writing.

        Returns:
        Returns the "buffer-size" property definition.
      • getDeniedClientPropertyDefinition

        public IpAddressMaskPropertyDefinition getDeniedClientPropertyDefinition()
        Get the "denied-client" property definition.

        A set of clients who are not allowed to establish connections to this HTTP Connection Handler.

        Valid values include a host name, a fully qualified domain name, a domain name, an IP address, or a subnetwork with subnetwork mask. If both allowed and denied client masks are defined and a client connection matches one or more masks in both lists, then the connection is denied. If only a denied list is specified, then any client not matching a mask in that list is allowed. Specifying a value for this property in a connection handler will override any value set in the global configuration.

        Returns:
        Returns the "denied-client" property definition.
      • getEnabledPropertyDefinition

        public BooleanPropertyDefinition getEnabledPropertyDefinition()
        Get the "enabled" property definition.

        Indicates whether the HTTP Connection Handler is enabled.

        Returns:
        Returns the "enabled" property definition.
      • getJavaClassPropertyDefinition

        public ClassPropertyDefinition getJavaClassPropertyDefinition()
        Get the "java-class" property definition.

        Specifies the fully-qualified name of the Java class that provides the HTTP Connection Handler implementation.

        Returns:
        Returns the "java-class" property definition.
      • getKeepStatsPropertyDefinition

        public BooleanPropertyDefinition getKeepStatsPropertyDefinition()
        Get the "keep-stats" property definition.

        Indicates whether the HTTP Connection Handler should keep statistics.

        If enabled, the HTTP Connection Handler maintains statistics about the number and types of operations requested over HTTP and the amount of data sent and received.

        Returns:
        Returns the "keep-stats" property definition.
      • getKeyManagerProviderPropertyDefinition

        public AggregationPropertyDefinition<KeyManagerProviderCfgClient,​KeyManagerProviderCfg> getKeyManagerProviderPropertyDefinition()
        Get the "key-manager-provider" property definition.

        Specifies the name of the key manager that should be used with this HTTP Connection Handler .

        Returns:
        Returns the "key-manager-provider" property definition.
      • getListenAddressPropertyDefinition

        public HostPropertyDefinition getListenAddressPropertyDefinition()
        Get the "listen-address" property definition.

        The network interface(s) on which this HTTP Connection Handler should listen for incoming client connections.

        Multiple addresses may be provided as separate values for this attribute. If no values are provided, then the directory server will listen on all interfaces.

        Returns:
        Returns the "listen-address" property definition.
      • getListenPortPropertyDefinition

        public IntegerPropertyDefinition getListenPortPropertyDefinition()
        Get the "listen-port" property definition.

        Specifies the port number on which the HTTP Connection Handler will listen for connections from clients.

        Only a single port number may be provided.

        Returns:
        Returns the "listen-port" property definition.
      • getMaxBlockedWriteTimeLimitPropertyDefinition

        public DurationPropertyDefinition getMaxBlockedWriteTimeLimitPropertyDefinition()
        Get the "max-blocked-write-time-limit" property definition.

        Specifies the maximum length of time that attempts to write data to HTTP clients should be allowed to block.

        If an attempt to write data to a client takes longer than this length of time, then the client connection is terminated.

        Returns:
        Returns the "max-blocked-write-time-limit" property definition.
      • getMaxConcurrentOpsPerConnectionPropertyDefinition

        public IntegerPropertyDefinition getMaxConcurrentOpsPerConnectionPropertyDefinition()
        Get the "max-concurrent-ops-per-connection" property definition.

        Specifies the maximum number of internal operations that each HTTP client connection can execute concurrently.

        This property allow to limit the impact that each HTTP request can have on the whole server by limiting the number of internal operations that each HTTP request can execute concurrently. A value of 0 means that no limit is enforced.

        Returns:
        Returns the "max-concurrent-ops-per-connection" property definition.
      • getMaxRequestSizePropertyDefinition

        public SizePropertyDefinition getMaxRequestSizePropertyDefinition()
        Get the "max-request-size" property definition.

        Specifies the size in bytes of the largest HTTP request message that will be allowed by the HTTP Connection Handler.

        This can help prevent denial-of-service attacks by clients that indicate they send extremely large requests to the server causing it to attempt to allocate large amounts of memory.

        Returns:
        Returns the "max-request-size" property definition.
      • getNumRequestHandlersPropertyDefinition

        public IntegerPropertyDefinition getNumRequestHandlersPropertyDefinition()
        Get the "num-request-handlers" property definition.

        Specifies the number of request handlers that are used to read requests from clients.

        The HTTP Connection Handler uses one thread to accept new connections from clients, but uses one or more additional threads to read requests from existing client connections. This ensures that new requests are read efficiently and that the connection handler itself does not become a bottleneck when the server is under heavy load from many clients at the same time.

        Returns:
        Returns the "num-request-handlers" property definition.
      • getRestrictedClientPropertyDefinition

        public IpAddressMaskPropertyDefinition getRestrictedClientPropertyDefinition()
        Get the "restricted-client" property definition.

        A set of clients who will be limited to the maximum number of connections specified by the "restricted-client-connection-limit" property.

        Valid values include a host name, a fully qualified domain name, a domain name, an IP address, or a subnetwork with subnetwork mask. Specifying a value for this property in a connection handler will override any value set in the global configuration.

        Returns:
        Returns the "restricted-client" property definition.
      • getRestrictedClientConnectionLimitPropertyDefinition

        public IntegerPropertyDefinition getRestrictedClientConnectionLimitPropertyDefinition()
        Get the "restricted-client-connection-limit" property definition.

        Specifies the maximum number of connections a restricted client can open at the same time to this HTTP Connection Handler.

        Once Directory Server accepts the specified number of connections from a client specified in restricted-client, any additional connection will be rejected. The number of connections is maintained by IP address. Specifying a value for this property in a connection handler will override any value set in the global configuration.

        Returns:
        Returns the "restricted-client-connection-limit" property definition.
      • getSslCertNicknamePropertyDefinition

        public StringPropertyDefinition getSslCertNicknamePropertyDefinition()
        Get the "ssl-cert-nickname" property definition.

        Specifies the nicknames (also called the aliases) of the keys or key pairs that the HTTP Connection Handler should use when performing SSL communication.

        The property can be used multiple times (referencing different nicknames) when server certificates with different public key algorithms are used in parallel (for example, RSA, DSA, and ECC-based algorithms). When a nickname refers to an asymmetric (public/private) key pair, the nickname for the public key certificate and associated private key entry must match exactly. A single nickname is used to retrieve both the public key and the private key. This is only applicable when the HTTP Connection Handler is configured to use SSL.

        Returns:
        Returns the "ssl-cert-nickname" property definition.
      • getSslCipherSuitePropertyDefinition

        public StringPropertyDefinition getSslCipherSuitePropertyDefinition()
        Get the "ssl-cipher-suite" property definition.

        Specifies the names of the SSL cipher suites that are allowed for use in SSL communication.

        Returns:
        Returns the "ssl-cipher-suite" property definition.
      • getSslClientAuthPolicyPropertyDefinition

        public EnumPropertyDefinition<HttpConnectionHandlerCfgDefn.SslClientAuthPolicy> getSslClientAuthPolicyPropertyDefinition()
        Get the "ssl-client-auth-policy" property definition.

        Specifies the policy that the HTTP Connection Handler should use regarding client SSL certificates. Clients can use the SASL EXTERNAL mechanism only if the policy is set to "optional" or "required".

        This is only applicable if clients are allowed to use SSL.

        Returns:
        Returns the "ssl-client-auth-policy" property definition.
      • getSslProtocolPropertyDefinition

        public StringPropertyDefinition getSslProtocolPropertyDefinition()
        Get the "ssl-protocol" property definition.

        Specifies the names of the SSL protocols that are allowed for use in SSL communication.

        Returns:
        Returns the "ssl-protocol" property definition.
      • getTrustManagerProviderPropertyDefinition

        public AggregationPropertyDefinition<TrustManagerProviderCfgClient,​TrustManagerProviderCfg> getTrustManagerProviderPropertyDefinition()
        Get the "trust-manager-provider" property definition.

        Specifies the name(s) of the trust manager(s) that should be used with the HTTP Connection Handler.

        Returns:
        Returns the "trust-manager-provider" property definition.
      • getUseSslPropertyDefinition

        public BooleanPropertyDefinition getUseSslPropertyDefinition()
        Get the "use-ssl" property definition.

        Indicates whether the HTTP Connection Handler should use SSL.

        If enabled, the HTTP Connection Handler will use SSL to encrypt communication with the clients.

        Returns:
        Returns the "use-ssl" property definition.
      • getUseTcpKeepAlivePropertyDefinition

        public BooleanPropertyDefinition getUseTcpKeepAlivePropertyDefinition()
        Get the "use-tcp-keep-alive" property definition.

        Indicates whether the HTTP Connection Handler should use TCP keep-alive.

        If enabled, the SO_KEEPALIVE socket option is used to indicate that TCP keepalive messages should periodically be sent to the client to verify that the associated connection is still valid. This may also help prevent cases in which intermediate network hardware could silently drop an otherwise idle client connection, provided that the keepalive interval configured in the underlying operating system is smaller than the timeout enforced by the network hardware.

        Returns:
        Returns the "use-tcp-keep-alive" property definition.
      • getUseTcpNoDelayPropertyDefinition

        public BooleanPropertyDefinition getUseTcpNoDelayPropertyDefinition()
        Get the "use-tcp-no-delay" property definition.

        Indicates whether the HTTP Connection Handler should use TCP no-delay.

        If enabled, the TCP_NODELAY socket option is used to ensure that response messages to the client are sent immediately rather than potentially waiting to determine whether additional response messages can be sent in the same packet. In most cases, using the TCP_NODELAY socket option provides better performance and lower response times, but disabling it may help for some cases in which the server sends a large number of entries to a client in response to a search request.

        Returns:
        Returns the "use-tcp-no-delay" property definition.