Package io.helidon.webserver
Class SocketConfiguration.Builder
- java.lang.Object
-
- io.helidon.webserver.SocketConfiguration.Builder
-
- All Implemented Interfaces:
Builder<SocketConfiguration>
,Supplier<SocketConfiguration>
- Enclosing interface:
- SocketConfiguration
public static final class SocketConfiguration.Builder extends Object implements Builder<SocketConfiguration>
TheSocketConfiguration
builder class.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SocketConfiguration.Builder
allowedCipherSuite(List<String> cipherSuite)
Configures allowed SSL cipher suite.SocketConfiguration.Builder
backlog(int backlog)
Configures a maximum length of the queue of incoming connections on the server socket.SocketConfiguration.Builder
bindAddress(InetAddress bindAddress)
Configures local address where the server listens on with the server socket.SocketConfiguration
build()
Build the instance from this builder.SocketConfiguration.Builder
clientAuth(ClientAuthentication clientAuth)
Configures whether client authentication will be required or not.SocketConfiguration.Builder
enabledSSlProtocols(String... protocols)
Configures the SSL protocols to enable with the server socket.SocketConfiguration.Builder
enabledSSlProtocols(List<String> protocols)
Configures the SSL protocols to enable with the server socket.SocketConfiguration.Builder
initialBufferSize(int size)
Configure initial size of the buffer used to parse HTTP line and headers.SocketConfiguration.Builder
maxChunkSize(int size)
Configure maximal size of a chunk to be read from incoming requests.SocketConfiguration.Builder
maxHeaderSize(int size)
Maximal number of bytes of all header values combined.SocketConfiguration.Builder
maxInitialLineLength(int length)
Maximal number of characters in the initial HTTP line.SocketConfiguration.Builder
port(int port)
Configures a server port to listen on with the server socket.SocketConfiguration.Builder
receiveBufferSize(int receiveBufferSize)
Configures proposed value of the TCP receive window that is advertised to the remote peer on the server socket.SocketConfiguration.Builder
ssl(Supplier<? extends SSLContext> sslContextBuilder)
Configures aSSLContext
to use with the server socket.SocketConfiguration.Builder
ssl(SSLContext sslContext)
Configures aSSLContext
to use with the server socket.SocketConfiguration.Builder
timeoutMillis(int timeoutMillis)
Configures a server socket timeout in milliseconds or0
for an infinite timeout.SocketConfiguration.Builder
validateHeaders(boolean validate)
Configure whether to validate header names.
-
-
-
Method Detail
-
port
public SocketConfiguration.Builder port(int port)
Configures a server port to listen on with the server socket. If port is0
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. Ifnull
then listens an all local addresses.- Parameters:
bindAddress
- an address to bind with the server socket;null
for all local addresses- Returns:
- this builder
-
backlog
public SocketConfiguration.Builder backlog(int backlog)
Configures a maximum length of the queue of incoming connections on the server socket.Default value is
SocketConfiguration.DEFAULT_BACKLOG_SIZE
.- Parameters:
backlog
- a maximum length of the queue of incoming connections- Returns:
- this builder
-
timeoutMillis
public SocketConfiguration.Builder timeoutMillis(int timeoutMillis)
Configures a server socket timeout in milliseconds or0
for an infinite timeout.- Parameters:
timeoutMillis
- a server socket timeout in milliseconds or0
- 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 or0
- Returns:
- this builder
-
ssl
public SocketConfiguration.Builder ssl(SSLContext sslContext)
Configures aSSLContext
to use with the server socket. If notnull
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 aSSLContext
to use with the server socket. If notnull
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
-
clientAuth
public SocketConfiguration.Builder clientAuth(ClientAuthentication clientAuth)
Configures whether client authentication will be required or not.- Parameters:
clientAuth
- client authentication- 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, ifnull
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, ifnull
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, aHttp.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 to8192
.- Parameters:
size
- maximal chunk size- Returns:
- updated builder instance
-
validateHeaders
public SocketConfiguration.Builder validateHeaders(boolean validate)
Configure whether to validate header names. Defaults totrue
to make sure header names are valid strings.- Parameters:
validate
- set tofalse
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 to128
.- Parameters:
size
- initial buffer size- Returns:
- updated builder instance
-
build
public SocketConfiguration build()
Description copied from interface:Builder
Build the instance from this builder.- Specified by:
build
in interfaceBuilder<SocketConfiguration>
- Returns:
- instance of the built type
-
-