Class SocketConfiguration.Builder

    • Method Detail

      • port

        public SocketConfiguration.Builder port​(int port)
        Configures a server port to listen on with the server socket. If port is 0 then any available ephemeral port will be used.
        Parameters:
        port - the server port of the server socket
        Returns:
        this builder
      • bindAddress

        public SocketConfiguration.Builder bindAddress​(InetAddress bindAddress)
        Configures local address where the server listens on with the server socket. If null then listens an all local addresses.
        Parameters:
        bindAddress - an address to bind with the server socket; null for all local addresses
        Returns:
        this builder
      • timeoutMillis

        public SocketConfiguration.Builder timeoutMillis​(int timeoutMillis)
        Configures a server socket timeout in milliseconds or 0 for an infinite timeout.
        Parameters:
        timeoutMillis - a server socket timeout in milliseconds or 0
        Returns:
        this builder
      • receiveBufferSize

        public SocketConfiguration.Builder receiveBufferSize​(int receiveBufferSize)
        Configures proposed value of the TCP receive window that is advertised to the remote peer on the server socket.

        If 0 then use implementation default.

        Parameters:
        receiveBufferSize - a buffer size in bytes of the server socket or 0
        Returns:
        this builder
      • ssl

        public SocketConfiguration.Builder ssl​(SSLContext sslContext)
        Configures a SSLContext to use with the server socket. If not null then the server enforces an SSL communication.
        Parameters:
        sslContext - a SSL context to use
        Returns:
        this builder
      • ssl

        public SocketConfiguration.Builder ssl​(Supplier<? extends SSLContext> sslContextBuilder)
        Configures a SSLContext to use with the server socket. If not null then the server enforces an SSL communication.
        Parameters:
        sslContextBuilder - a SSL context builder to use; will be built as a first step of this method execution
        Returns:
        this builder
      • enabledSSlProtocols

        public SocketConfiguration.Builder enabledSSlProtocols​(String... protocols)
        Configures the SSL protocols to enable with the server socket.
        Parameters:
        protocols - protocols to enable, if null enables the default protocols
        Returns:
        this builder
      • enabledSSlProtocols

        public SocketConfiguration.Builder enabledSSlProtocols​(List<String> protocols)
        Configures the SSL protocols to enable with the server socket.
        Parameters:
        protocols - protocols to enable, if null or empty enables the default protocols
        Returns:
        this builder
      • allowedCipherSuite

        public SocketConfiguration.Builder allowedCipherSuite​(List<String> cipherSuite)
        Configures allowed SSL cipher suite.
        Parameters:
        cipherSuite - allowed cipher suite
        Returns:
        this builder
      • maxHeaderSize

        public SocketConfiguration.Builder maxHeaderSize​(int size)
        Maximal number of bytes of all header values combined. When a bigger value is received, a Http.Status.BAD_REQUEST_400 is returned.

        Default is 8192

        Parameters:
        size - maximal number of bytes of combined header values
        Returns:
        this builder
      • maxInitialLineLength

        public SocketConfiguration.Builder maxInitialLineLength​(int length)
        Maximal number of characters in the initial HTTP line.

        Default is 4096

        Parameters:
        length - maximal number of characters
        Returns:
        this builder
      • maxChunkSize

        public SocketConfiguration.Builder maxChunkSize​(int size)
        Configure maximal size of a chunk to be read from incoming requests. Defaults to 8192.
        Parameters:
        size - maximal chunk size
        Returns:
        updated builder instance
      • validateHeaders

        public SocketConfiguration.Builder validateHeaders​(boolean validate)
        Configure whether to validate header names. Defaults to true to make sure header names are valid strings.
        Parameters:
        validate - set to false to ignore header validation
        Returns:
        updated builder instance
      • initialBufferSize

        public SocketConfiguration.Builder initialBufferSize​(int size)
        Configure initial size of the buffer used to parse HTTP line and headers. Defaults to 128.
        Parameters:
        size - initial buffer size
        Returns:
        updated builder instance