-
- All Known Subinterfaces:
ServerConfiguration
public interface SocketConfigurationThe SocketConfiguration configures a port to listen on and its associated server socket parameters.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classSocketConfiguration.BuilderTheSocketConfigurationbuilder class.static classSocketConfiguration.RequestedUriDiscoveryTypeTypes of discovery of frontend uri.static interfaceSocketConfiguration.SocketConfigurationBuilder<B extends SocketConfiguration.SocketConfigurationBuilder<B>>Socket configuration builder API, used bySocketConfiguration.Builderto configure additional sockets, and byWebServer.Builderto configure the default socket.
-
Field Summary
Fields Modifier and Type Field Description static SocketConfigurationDEFAULTDeprecated.since 2.0.0 This configuration does not contain a name and will be removedstatic intDEFAULT_BACKLOG_SIZEThe default backlog size to configure the server sockets with if no other value is provided.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description Set<String>allowedCipherSuite()Deprecated, for removal: This API element is subject to removal in a future version.usetls().cipherSuite()instead.intbacklog()Returns a maximum length of the queue of incoming connections on the server socket.default longbackpressureBufferSize()Maximum length of the response data sending buffer can keep without flushing.default BackpressureStrategybackpressureStrategy()Strategy for applying backpressure to the reactive stream of response data.InetAddressbindAddress()Returns local address where the server listens on with the server socket.static SocketConfiguration.Builderbuilder()Creates a builder ofSocketConfigurationclass.ClientAuthenticationclientAuth()Deprecated, for removal: This API element is subject to removal in a future version.usetls().clientAuth()instead.default intconnectionIdleTimeout()Timeout seconds after which any idle connection will be automatically closed by the server.default booleancontinueImmediately()When true WebServer answers with 100 continue immediately, not waiting for user to actually request the data.static SocketConfigurationcreate(String name)Create a default named configuration.default booleanenableCompression()Whether to allow negotiation for a gzip/deflate content encoding.default booleanenabled()Whether this socket is enabled (and will be opened on server startup), or disabled (and ignored on server startup).Set<String>enabledSslProtocols()Deprecated, for removal: This API element is subject to removal in a future version.usetls().enabledTlsProtocols()instead.intinitialBufferSize()Initial size of the buffer used to parse HTTP line and headers.intmaxChunkSize()Maximal size of a single chunk of received data.intmaxHeaderSize()Maximal size of all headers combined.intmaxInitialLineLength()Maximal length of the initial HTTP line.default longmaxPayloadSize()Maximum size allowed for an HTTP payload in a client request.default Stringname()Name of this socket.intport()Returns a server port to listen on with the server socket.intreceiveBufferSize()Returns proposed value of the TCP receive window that is advertised to the remote peer on the server socket.booleanrequestedUriDiscoveryEnabled()List<SocketConfiguration.RequestedUriDiscoveryType>requestedUriDiscoveryTypes()Discovery types to identify requested URI.SSLContextssl()Deprecated, for removal: This API element is subject to removal in a future version.usetls().sslContext()instead.inttimeoutMillis()Returns a server socket timeout in milliseconds or0for an infinite timeout.Optional<WebServerTls>tls()Return aWebServerTlscontaining server TLS configuration.AllowListtrustedProxies()The allow list for trusted proxies.booleanvalidateHeaders()Whether to validate HTTP header names.
-
-
-
Field Detail
-
DEFAULT
@Deprecated static final SocketConfiguration DEFAULT
Deprecated.since 2.0.0 This configuration does not contain a name and will be removedThe default socket configuration.
-
DEFAULT_BACKLOG_SIZE
static final int DEFAULT_BACKLOG_SIZE
The default backlog size to configure the server sockets with if no other value is provided.- See Also:
- Constant Field Values
-
-
Method Detail
-
name
default String name()
Name of this socket. Default toWebServer.DEFAULT_SOCKET_NAMEfor the main and default server socket. All other sockets must be named.- Returns:
- name of this socket
-
port
int port()
Returns a server port to listen on with the server socket. If port is0then any available ephemeral port will be used.- Returns:
- the server port of the server socket
-
bindAddress
InetAddress bindAddress()
Returns local address where the server listens on with the server socket. Ifnullthen listens an all local addresses.- Returns:
- an address to bind with the server socket;
nullfor all local addresses
-
backlog
int backlog()
Returns a maximum length of the queue of incoming connections on the server socket.Default value is
DEFAULT_BACKLOG_SIZE.- Returns:
- a maximum length of the queue of incoming connections
-
timeoutMillis
int timeoutMillis()
Returns a server socket timeout in milliseconds or0for an infinite timeout.- Returns:
- a server socket timeout in milliseconds or
0
-
receiveBufferSize
int receiveBufferSize()
Returns proposed value of the TCP receive window that is advertised to the remote peer on the server socket.If
0then use implementation default.- Returns:
- a buffer size in bytes of the server socket or
0
-
tls
Optional<WebServerTls> tls()
Return aWebServerTlscontaining server TLS configuration. When emptyOptionalis returned no TLS should be configured.- Returns:
- web server tls configuration
-
ssl
@Deprecated(since="2.3.1", forRemoval=true) SSLContext ssl()
Deprecated, for removal: This API element is subject to removal in a future version.usetls().sslContext()instead. This method will be removed at 3.0.0 version.Returns aSSLContextto use with the server socket. If notnullthen the server enforces an SSL communication.- Returns:
- a SSL context to use
-
enabledSslProtocols
@Deprecated(since="2.3.1", forRemoval=true) Set<String> enabledSslProtocols()
Deprecated, for removal: This API element is subject to removal in a future version.usetls().enabledTlsProtocols()instead. This method will be removed at 3.0.0 version.Returns the SSL protocols to enable, ornullto enable the default protocols.- Returns:
- the SSL protocols to enable
-
allowedCipherSuite
@Deprecated(since="2.3.1", forRemoval=true) Set<String> allowedCipherSuite()
Deprecated, for removal: This API element is subject to removal in a future version.usetls().cipherSuite()instead. This method will be removed at 3.0.0 version.Return the allowed cipher suite of the TLS. If empty set is returned, the default cipher suite is used.- Returns:
- the allowed cipher suite
-
clientAuth
@Deprecated(since="2.3.1", forRemoval=true) ClientAuthentication clientAuth()
Deprecated, for removal: This API element is subject to removal in a future version.usetls().clientAuth()instead. This method will be removed at 3.0.0 version.Whether to require client authentication or not.- Returns:
- client authentication
-
enabled
default boolean enabled()
Whether this socket is enabled (and will be opened on server startup), or disabled (and ignored on server startup).- Returns:
truefor enabled socket,falsefor socket that should not be opened
-
maxHeaderSize
int maxHeaderSize()
Maximal size of all headers combined.- Returns:
- size in bytes
-
maxInitialLineLength
int maxInitialLineLength()
Maximal length of the initial HTTP line.- Returns:
- length
-
maxChunkSize
int maxChunkSize()
Maximal size of a single chunk of received data.- Returns:
- chunk size
-
validateHeaders
boolean validateHeaders()
Whether to validate HTTP header names. When set totrue, we make sure the header name is a valid string- Returns:
trueif headers should be validated
-
enableCompression
default boolean enableCompression()
Whether to allow negotiation for a gzip/deflate content encoding. Supporting HTTP compression may interfere with application that use streaming and other similar features. Thus, it defaults tofalse.- Returns:
- compression flag
-
maxPayloadSize
default long maxPayloadSize()
Maximum size allowed for an HTTP payload in a client request. A negative value indicates that there is no maximum set.- Returns:
- maximum payload size
-
backpressureBufferSize
default long backpressureBufferSize()
Maximum length of the response data sending buffer can keep without flushing. Depends on `backpressure-policy` what happens if max buffer size is reached.- Returns:
- maximum non-flushed data Netty can buffer until backpressure is applied
-
backpressureStrategy
default BackpressureStrategy backpressureStrategy()
Strategy for applying backpressure to the reactive stream of response data. Switched default toBackpressureStrategy.AUTO_FLUSHsince 2.5.7.- Returns:
- strategy identifier for applying backpressure
-
continueImmediately
default boolean continueImmediately()
When true WebServer answers with 100 continue immediately, not waiting for user to actually request the data. False is default value.- Returns:
- strategy identifier for applying backpressure
-
initialBufferSize
int initialBufferSize()
Initial size of the buffer used to parse HTTP line and headers.- Returns:
- initial size of the buffer
-
requestedUriDiscoveryTypes
List<SocketConfiguration.RequestedUriDiscoveryType> requestedUriDiscoveryTypes()
Discovery types to identify requested URI.- Returns:
- list with supported types, will always contain at least
SocketConfiguration.RequestedUriDiscoveryType.HOST.
-
requestedUriDiscoveryEnabled
boolean requestedUriDiscoveryEnabled()
- Returns:
- whether requested URI discovery is enabled.
-
trustedProxies
AllowList trustedProxies()
The allow list for trusted proxies.- Returns:
- allow list for trusted proxies
-
connectionIdleTimeout
default int connectionIdleTimeout()
Timeout seconds after which any idle connection will be automatically closed by the server.- Returns:
- idle connection timeout in seconds
-
builder
static SocketConfiguration.Builder builder()
Creates a builder ofSocketConfigurationclass.- Returns:
- a builder
-
create
static SocketConfiguration create(String name)
Create a default named configuration.- Parameters:
name- name of the socket- Returns:
- a new socket configuration with defaults
-
-