Class HttpServerOptions

    • Field Detail

      • DEFAULT_PORT

        public static final int DEFAULT_PORT
        Default port the server will listen on = 80
        See Also:
        Constant Field Values
      • DEFAULT_COMPRESSION_SUPPORTED

        public static final boolean DEFAULT_COMPRESSION_SUPPORTED
        Default value of whether compression is supported = false
        See Also:
        Constant Field Values
      • DEFAULT_COMPRESSION_LEVEL

        public static final int DEFAULT_COMPRESSION_LEVEL
        Default gzip/deflate compression level = 6 (Netty legacy)
        See Also:
        Constant Field Values
      • DEFAULT_MAX_WEBSOCKET_FRAME_SIZE

        public static final int DEFAULT_MAX_WEBSOCKET_FRAME_SIZE
        Default max WebSocket frame size = 65536
        See Also:
        Constant Field Values
      • DEFAULT_MAX_WEBSOCKET_MESSAGE_SIZE

        public static final int DEFAULT_MAX_WEBSOCKET_MESSAGE_SIZE
        Default max WebSocket message size (could be assembled from multiple frames) is 4 full frames worth of data
        See Also:
        Constant Field Values
      • DEFAULT_MAX_CHUNK_SIZE

        public static final int DEFAULT_MAX_CHUNK_SIZE
        Default max HTTP chunk size = 8192
        See Also:
        Constant Field Values
      • DEFAULT_MAX_INITIAL_LINE_LENGTH

        public static final int DEFAULT_MAX_INITIAL_LINE_LENGTH
        Default max length of the initial line (e.g. "GET / HTTP/1.0") = 4096
        See Also:
        Constant Field Values
      • DEFAULT_MAX_HEADER_SIZE

        public static final int DEFAULT_MAX_HEADER_SIZE
        Default max length of all headers = 8192
        See Also:
        Constant Field Values
      • DEFAULT_MAX_FORM_ATTRIBUTE_SIZE

        public static final int DEFAULT_MAX_FORM_ATTRIBUTE_SIZE
        Default max size of a form attribute = 8192
        See Also:
        Constant Field Values
      • DEFAULT_MAX_FORM_FIELDS

        public static final int DEFAULT_MAX_FORM_FIELDS
        Default max number of form fields = 256
        See Also:
        Constant Field Values
      • DEFAULT_MAX_FORM_BUFFERED_SIZE

        public static final int DEFAULT_MAX_FORM_BUFFERED_SIZE
        Default max number buffered bytes when decoding a form = 1024
        See Also:
        Constant Field Values
      • DEFAULT_HANDLE_100_CONTINE_AUTOMATICALLY

        public static final boolean DEFAULT_HANDLE_100_CONTINE_AUTOMATICALLY
        Default value of whether 100-Continue should be handled automatically = false
        See Also:
        Constant Field Values
      • DEFAULT_ALPN_VERSIONS

        public static final List<HttpVersion> DEFAULT_ALPN_VERSIONS
        Default Application-Layer Protocol Negotiation versions = [HTTP/2,HTTP/1.1]
      • DEFAULT_HTTP2_CLEAR_TEXT_ENABLED

        public static final boolean DEFAULT_HTTP2_CLEAR_TEXT_ENABLED
        Default H2C is enabled = true
        See Also:
        Constant Field Values
      • DEFAULT_INITIAL_SETTINGS_MAX_CONCURRENT_STREAMS

        public static final long DEFAULT_INITIAL_SETTINGS_MAX_CONCURRENT_STREAMS
        The default initial settings max concurrent stream for an HTTP/2 server = 100
        See Also:
        Constant Field Values
      • DEFAULT_HTTP2_CONNECTION_WINDOW_SIZE

        public static final int DEFAULT_HTTP2_CONNECTION_WINDOW_SIZE
        The default HTTP/2 connection window size = -1
        See Also:
        Constant Field Values
      • DEFAULT_DECOMPRESSION_SUPPORTED

        public static final boolean DEFAULT_DECOMPRESSION_SUPPORTED
        Default value of whether decompression is supported = false
        See Also:
        Constant Field Values
      • DEFAULT_ACCEPT_UNMASKED_FRAMES

        public static final boolean DEFAULT_ACCEPT_UNMASKED_FRAMES
        Default WebSocket Masked bit is true as depicted by RFC = false
        See Also:
        Constant Field Values
      • DEFAULT_DECODER_INITIAL_BUFFER_SIZE

        public static final int DEFAULT_DECODER_INITIAL_BUFFER_SIZE
        Default initial buffer size for HttpObjectDecoder = 128 bytes
        See Also:
        Constant Field Values
      • DEFAULT_PER_FRAME_WEBSOCKET_COMPRESSION_SUPPORTED

        public static final boolean DEFAULT_PER_FRAME_WEBSOCKET_COMPRESSION_SUPPORTED
        Default support for WebSockets per-frame deflate compression extension = true
        See Also:
        Constant Field Values
      • DEFAULT_PER_MESSAGE_WEBSOCKET_COMPRESSION_SUPPORTED

        public static final boolean DEFAULT_PER_MESSAGE_WEBSOCKET_COMPRESSION_SUPPORTED
        Default support for WebSockets per-message deflate compression extension = true
        See Also:
        Constant Field Values
      • DEFAULT_WEBSOCKET_COMPRESSION_LEVEL

        public static final int DEFAULT_WEBSOCKET_COMPRESSION_LEVEL
        Default WebSocket deflate compression level = 6
        See Also:
        Constant Field Values
      • DEFAULT_WEBSOCKET_ALLOW_SERVER_NO_CONTEXT

        public static final boolean DEFAULT_WEBSOCKET_ALLOW_SERVER_NO_CONTEXT
        Default allowance of the server_no_context_takeover WebSocket parameter deflate compression extension = false
        See Also:
        Constant Field Values
      • DEFAULT_WEBSOCKET_PREFERRED_CLIENT_NO_CONTEXT

        public static final boolean DEFAULT_WEBSOCKET_PREFERRED_CLIENT_NO_CONTEXT
        Default allowance of the client_no_context_takeover WebSocket parameter deflate compression extension = false
        See Also:
        Constant Field Values
      • DEFAULT_WEBSOCKET_CLOSING_TIMEOUT

        public static final int DEFAULT_WEBSOCKET_CLOSING_TIMEOUT
        Default WebSocket closing timeout = 10 second)
        See Also:
        Constant Field Values
      • DEFAULT_REGISTER_WEBSOCKET_WRITE_HANDLERS

        public static final boolean DEFAULT_REGISTER_WEBSOCKET_WRITE_HANDLERS
        Whether write-handlers for server websockets should be registered by default = false.
        See Also:
        Constant Field Values
      • DEFAULT_HTTP2_RST_FLOOD_MAX_RST_FRAME_PER_WINDOW

        public static final int DEFAULT_HTTP2_RST_FLOOD_MAX_RST_FRAME_PER_WINDOW
        HTTP/2 RST floods DDOS protection, max number of RST frame per time window allowed = 200.
        See Also:
        Constant Field Values
      • DEFAULT_HTTP2_RST_FLOOD_WINDOW_DURATION

        public static final int DEFAULT_HTTP2_RST_FLOOD_WINDOW_DURATION
        HTTP/2 RST floods DDOS protection, time window duration = 30.
        See Also:
        Constant Field Values
      • DEFAULT_HTTP2_RST_FLOOD_WINDOW_DURATION_TIME_UNIT

        public static final TimeUnit DEFAULT_HTTP2_RST_FLOOD_WINDOW_DURATION_TIME_UNIT
        HTTP/2 RST floods DDOS protection, time window duration unit = TimeUnit.SECONDS.
    • Constructor Detail

      • HttpServerOptions

        public HttpServerOptions()
        Default constructor
      • HttpServerOptions

        public HttpServerOptions​(HttpServerOptions other)
        Copy constructor
        Parameters:
        other - the options to copy
      • HttpServerOptions

        public HttpServerOptions​(JsonObject json)
        Create an options from JSON
        Parameters:
        json - the JSON
    • Method Detail

      • setSendBufferSize

        public HttpServerOptions setSendBufferSize​(int sendBufferSize)
        Description copied from class: NetworkOptions
        Set the TCP send buffer size
        Overrides:
        setSendBufferSize in class NetServerOptions
        Parameters:
        sendBufferSize - the buffers size, in bytes
        Returns:
        a reference to this, so the API can be used fluently
      • setReceiveBufferSize

        public HttpServerOptions setReceiveBufferSize​(int receiveBufferSize)
        Description copied from class: NetworkOptions
        Set the TCP receive buffer size
        Overrides:
        setReceiveBufferSize in class NetServerOptions
        Parameters:
        receiveBufferSize - the buffers size, in bytes
        Returns:
        a reference to this, so the API can be used fluently
      • setReuseAddress

        public HttpServerOptions setReuseAddress​(boolean reuseAddress)
        Description copied from class: NetworkOptions
        Set the value of reuse address
        Overrides:
        setReuseAddress in class NetServerOptions
        Parameters:
        reuseAddress - the value of reuse address
        Returns:
        a reference to this, so the API can be used fluently
      • setReusePort

        public HttpServerOptions setReusePort​(boolean reusePort)
        Description copied from class: NetworkOptions
        Set the value of reuse port.

        This is only supported by native transports.

        Overrides:
        setReusePort in class NetServerOptions
        Parameters:
        reusePort - the value of reuse port
        Returns:
        a reference to this, so the API can be used fluently
      • setTrafficClass

        public HttpServerOptions setTrafficClass​(int trafficClass)
        Description copied from class: NetworkOptions
        Set the value of traffic class
        Overrides:
        setTrafficClass in class NetServerOptions
        Parameters:
        trafficClass - the value of traffic class
        Returns:
        a reference to this, so the API can be used fluently
      • setTcpNoDelay

        public HttpServerOptions setTcpNoDelay​(boolean tcpNoDelay)
        Description copied from class: TCPSSLOptions
        Set whether TCP no delay is enabled
        Overrides:
        setTcpNoDelay in class NetServerOptions
        Parameters:
        tcpNoDelay - true if TCP no delay is enabled (Nagle disabled)
        Returns:
        a reference to this, so the API can be used fluently
      • setTcpKeepAlive

        public HttpServerOptions setTcpKeepAlive​(boolean tcpKeepAlive)
        Description copied from class: TCPSSLOptions
        Set whether TCP keep alive is enabled
        Overrides:
        setTcpKeepAlive in class NetServerOptions
        Parameters:
        tcpKeepAlive - true if TCP keep alive is enabled
        Returns:
        a reference to this, so the API can be used fluently
      • setSoLinger

        public HttpServerOptions setSoLinger​(int soLinger)
        Description copied from class: TCPSSLOptions
        Set whether SO_linger keep alive is enabled
        Overrides:
        setSoLinger in class NetServerOptions
        Parameters:
        soLinger - true if SO_linger is enabled
        Returns:
        a reference to this, so the API can be used fluently
      • setIdleTimeout

        public HttpServerOptions setIdleTimeout​(int idleTimeout)
        Description copied from class: TCPSSLOptions
        Set the idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is received nor sent within the timeout. If you want change default time unit, use TCPSSLOptions.setIdleTimeoutUnit(TimeUnit)
        Overrides:
        setIdleTimeout in class NetServerOptions
        Parameters:
        idleTimeout - the timeout
        Returns:
        a reference to this, so the API can be used fluently
      • setReadIdleTimeout

        public HttpServerOptions setReadIdleTimeout​(int idleTimeout)
        Description copied from class: TCPSSLOptions
        Set the read idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is received within the timeout. If you want change default time unit, use TCPSSLOptions.setIdleTimeoutUnit(TimeUnit)
        Overrides:
        setReadIdleTimeout in class NetServerOptions
        Parameters:
        idleTimeout - the read timeout
        Returns:
        a reference to this, so the API can be used fluently
      • setWriteIdleTimeout

        public HttpServerOptions setWriteIdleTimeout​(int idleTimeout)
        Description copied from class: TCPSSLOptions
        Set the write idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is sent within the timeout. If you want change default time unit, use TCPSSLOptions.setIdleTimeoutUnit(TimeUnit)
        Overrides:
        setWriteIdleTimeout in class NetServerOptions
        Parameters:
        idleTimeout - the write timeout
        Returns:
        a reference to this, so the API can be used fluently
      • setIdleTimeoutUnit

        public HttpServerOptions setIdleTimeoutUnit​(TimeUnit idleTimeoutUnit)
        Description copied from class: TCPSSLOptions
        Set the idle timeout unit. If not specified, default is seconds.
        Overrides:
        setIdleTimeoutUnit in class NetServerOptions
        Parameters:
        idleTimeoutUnit - specify time unit.
        Returns:
        a reference to this, so the API can be used fluently
      • setSsl

        public HttpServerOptions setSsl​(boolean ssl)
        Description copied from class: TCPSSLOptions
        Set whether SSL/TLS is enabled
        Overrides:
        setSsl in class NetServerOptions
        Parameters:
        ssl - true if enabled
        Returns:
        a reference to this, so the API can be used fluently
      • setClientAuth

        public HttpServerOptions setClientAuth​(ClientAuth clientAuth)
        Description copied from class: NetServerOptions
        Set whether client auth is required
        Overrides:
        setClientAuth in class NetServerOptions
        Parameters:
        clientAuth - One of "NONE, REQUEST, REQUIRED". If it's set to "REQUIRED" then server will require the SSL cert to be presented otherwise it won't accept the request. If it's set to "REQUEST" then it won't mandate the certificate to be presented, basically make it optional.
        Returns:
        a reference to this, so the API can be used fluently
      • setEnabledSecureTransportProtocols

        public HttpServerOptions setEnabledSecureTransportProtocols​(Set<String> enabledSecureTransportProtocols)
        Description copied from class: TCPSSLOptions
        Sets the list of enabled SSL/TLS protocols.
        Overrides:
        setEnabledSecureTransportProtocols in class NetServerOptions
        Parameters:
        enabledSecureTransportProtocols - the SSL/TLS protocols to enable
        Returns:
        a reference to this, so the API can be used fluently
      • setSslHandshakeTimeout

        public HttpServerOptions setSslHandshakeTimeout​(long sslHandshakeTimeout)
        Description copied from class: TCPSSLOptions
        Set the SSL handshake timeout, default time unit is seconds.
        Overrides:
        setSslHandshakeTimeout in class NetServerOptions
        Parameters:
        sslHandshakeTimeout - the SSL handshake timeout to set, in milliseconds
        Returns:
        a reference to this, so the API can be used fluently
      • setSslHandshakeTimeoutUnit

        public HttpServerOptions setSslHandshakeTimeoutUnit​(TimeUnit sslHandshakeTimeoutUnit)
        Description copied from class: TCPSSLOptions
        Set the SSL handshake timeout unit. If not specified, default is seconds.
        Overrides:
        setSslHandshakeTimeoutUnit in class NetServerOptions
        Parameters:
        sslHandshakeTimeoutUnit - specify time unit.
        Returns:
        a reference to this, so the API can be used fluently
      • isCompressionSupported

        public boolean isCompressionSupported()
        Returns:
        true if the server supports gzip/deflate compression
      • setCompressionSupported

        public HttpServerOptions setCompressionSupported​(boolean compressionSupported)
        Set whether the server should support gzip/deflate compression (serving compressed responses to clients advertising support for them with Accept-Encoding header)
        Parameters:
        compressionSupported - true to enable compression support
        Returns:
        a reference to this, so the API can be used fluently
      • getCompressionLevel

        public int getCompressionLevel()
        Returns:
        the server gzip/deflate 'compression level' to be used in responses when client and server support is turned on
      • setCompressionLevel

        public HttpServerOptions setCompressionLevel​(int compressionLevel)
        This method allows to set the compression level to be used in http1.x/2 response bodies when compression support is turned on (@see setCompressionSupported) and the client advertises to support deflate/gzip compression in the Accept-Encoding header default value is : 6 (Netty legacy) The compression level determines how much the data is compressed on a scale from 1 to 9, where '9' is trying to achieve the maximum compression ratio while '1' instead is giving priority to speed instead of compression ratio using some algorithm optimizations and skipping pedantic loops that usually gives just little improvements While one can think that best value is always the maximum compression ratio, there's a trade-off to consider: the most compressed level requires the most computational work to compress/decompress data, e.g. more dictionary lookups and loops. E.g. you have it set fairly high on a high-volume website, you may experience performance degradation and latency on resource serving due to CPU overload, and, however - as the computational work is required also client side while decompressing - setting an higher compression level can result in an overall higher page load time especially nowadays when many clients are handled mobile devices with a low CPU profile. see also: http://www.gzip.org/algorithm.txt
        Parameters:
        compressionLevel - integer 1-9, 1 means use fastest algorithm, 9 slower algorithm but better compression ratio
        Returns:
        a reference to this, so the API can be used fluently
      • isAcceptUnmaskedFrames

        public boolean isAcceptUnmaskedFrames()
      • setAcceptUnmaskedFrames

        public HttpServerOptions setAcceptUnmaskedFrames​(boolean acceptUnmaskedFrames)
        Set true when the server accepts unmasked frame. As default Server doesn't accept unmasked frame, you can bypass this behaviour (RFC 6455) setting true. It's set to false as default.
        Parameters:
        acceptUnmaskedFrames - true if enabled
        Returns:
        a reference to this, so the API can be used fluently
      • getMaxWebSocketFrameSize

        public int getMaxWebSocketFrameSize()
        Returns:
        the maximum WebSocket frame size
      • setMaxWebSocketFrameSize

        public HttpServerOptions setMaxWebSocketFrameSize​(int maxWebSocketFrameSize)
        Set the maximum WebSocket frames size
        Parameters:
        maxWebSocketFrameSize - the maximum frame size in bytes.
        Returns:
        a reference to this, so the API can be used fluently
      • getMaxWebSocketMessageSize

        public int getMaxWebSocketMessageSize()
        Returns:
        the maximum WebSocket message size
      • setMaxWebSocketMessageSize

        public HttpServerOptions setMaxWebSocketMessageSize​(int maxWebSocketMessageSize)
        Set the maximum WebSocket message size
        Parameters:
        maxWebSocketMessageSize - the maximum message size in bytes.
        Returns:
        a reference to this, so the API can be used fluently
      • addWebSocketSubProtocol

        public HttpServerOptions addWebSocketSubProtocol​(String subProtocol)
        Add a WebSocket sub-protocol to the list supported by the server.
        Parameters:
        subProtocol - the sub-protocol to add
        Returns:
        a reference to this, so the API can be used fluently
      • setWebSocketSubProtocols

        public HttpServerOptions setWebSocketSubProtocols​(List<String> subProtocols)
        Set the WebSocket list of sub-protocol supported by the server.
        Parameters:
        subProtocols - comma separated list of sub-protocols
        Returns:
        a reference to this, so the API can be used fluently
      • getWebSocketSubProtocols

        public List<String> getWebSocketSubProtocols()
        Returns:
        Get the WebSocket list of sub-protocol
      • isHandle100ContinueAutomatically

        public boolean isHandle100ContinueAutomatically()
        Returns:
        whether 100 Continue should be handled automatically
      • setHandle100ContinueAutomatically

        public HttpServerOptions setHandle100ContinueAutomatically​(boolean handle100ContinueAutomatically)
        Set whether 100 Continue should be handled automatically
        Parameters:
        handle100ContinueAutomatically - true if it should be handled automatically
        Returns:
        a reference to this, so the API can be used fluently
      • setMaxChunkSize

        public HttpServerOptions setMaxChunkSize​(int maxChunkSize)
        Set the maximum HTTP chunk size that HttpServerRequest.handler(Handler) will receive
        Parameters:
        maxChunkSize - the maximum chunk size
        Returns:
        a reference to this, so the API can be used fluently
      • getMaxInitialLineLength

        public int getMaxInitialLineLength()
        Returns:
        the maximum length of the initial line for HTTP/1.x (e.g. "GET / HTTP/1.0")
      • setMaxInitialLineLength

        public HttpServerOptions setMaxInitialLineLength​(int maxInitialLineLength)
        Set the maximum length of the initial line for HTTP/1.x (e.g. "GET / HTTP/1.0")
        Parameters:
        maxInitialLineLength - the new maximum initial length
        Returns:
        a reference to this, so the API can be used fluently
      • getMaxHeaderSize

        public int getMaxHeaderSize()
        Returns:
        Returns the maximum length of all headers for HTTP/1.x
      • setMaxHeaderSize

        public HttpServerOptions setMaxHeaderSize​(int maxHeaderSize)
        Set the maximum length of all headers for HTTP/1.x .
        Parameters:
        maxHeaderSize - the new maximum length
        Returns:
        a reference to this, so the API can be used fluently
      • getMaxFormAttributeSize

        public int getMaxFormAttributeSize()
        Returns:
        Returns the maximum size of a form attribute
      • setMaxFormAttributeSize

        public HttpServerOptions setMaxFormAttributeSize​(int maxSize)
        Set the maximum size of a form attribute. Set to -1 to allow unlimited length
        Parameters:
        maxSize - the new maximum size
        Returns:
        a reference to this, so the API can be used fluently
      • getMaxFormFields

        public int getMaxFormFields()
        Returns:
        Returns the maximum number of form fields
      • setMaxFormFields

        public HttpServerOptions setMaxFormFields​(int maxFormFields)
        Set the maximum number of fields of a form. Set to -1 to allow unlimited number of attributes
        Parameters:
        maxFormFields - the new maximum
        Returns:
        a reference to this, so the API can be used fluently
      • getMaxFormBufferedBytes

        public int getMaxFormBufferedBytes()
        Returns:
        Returns the maximum number of bytes a server can buffer when decoding a form
      • setMaxFormBufferedBytes

        public HttpServerOptions setMaxFormBufferedBytes​(int maxFormBufferedBytes)
        Set the maximum number of bytes a server can buffer when decoding a form. Set to -1 to allow unlimited length
        Parameters:
        maxFormBufferedBytes - the new maximum
        Returns:
        a reference to this, so the API can be used fluently
      • getInitialSettings

        public Http2Settings getInitialSettings()
        Returns:
        the initial HTTP/2 connection settings
      • setInitialSettings

        public HttpServerOptions setInitialSettings​(Http2Settings settings)
        Set the HTTP/2 connection settings immediatly sent by the server when a client connects.
        Parameters:
        settings - the settings value
        Returns:
        a reference to this, so the API can be used fluently
      • getAlpnVersions

        public List<HttpVersion> getAlpnVersions()
        Returns:
        the list of protocol versions to provide during the Application-Layer Protocol Negotiatiation
      • setAlpnVersions

        public HttpServerOptions setAlpnVersions​(List<HttpVersion> alpnVersions)
        Set the list of protocol versions to provide to the server during the Application-Layer Protocol Negotiatiation.
        Parameters:
        alpnVersions - the versions
        Returns:
        a reference to this, so the API can be used fluently
      • isHttp2ClearTextEnabled

        public boolean isHttp2ClearTextEnabled()
        Returns:
        whether the server accepts HTTP/2 over clear text connections
      • setHttp2ClearTextEnabled

        public HttpServerOptions setHttp2ClearTextEnabled​(boolean http2ClearTextEnabled)
        Set whether HTTP/2 over clear text is enabled or disabled, default is enabled.
        Parameters:
        http2ClearTextEnabled - whether to accept HTTP/2 over clear text
        Returns:
        a reference to this, so the API can be used fluently
      • getHttp2ConnectionWindowSize

        public int getHttp2ConnectionWindowSize()
        Returns:
        the default HTTP/2 connection window size
      • setHttp2ConnectionWindowSize

        public HttpServerOptions setHttp2ConnectionWindowSize​(int http2ConnectionWindowSize)
        Set the default HTTP/2 connection window size. It overrides the initial window size set by Http2Settings.getInitialWindowSize(), so the connection window size is greater than for its streams, in order the data throughput.

        A value of -1 reuses the initial window size setting.

        Parameters:
        http2ConnectionWindowSize - the window size applied to the connection
        Returns:
        a reference to this, so the API can be used fluently
      • setLogActivity

        public HttpServerOptions setLogActivity​(boolean logEnabled)
        Description copied from class: NetworkOptions
        Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.
        Overrides:
        setLogActivity in class NetServerOptions
        Parameters:
        logEnabled - true for logging the network activity
        Returns:
        a reference to this, so the API can be used fluently
      • setActivityLogDataFormat

        public HttpServerOptions setActivityLogDataFormat​(ByteBufFormat activityLogDataFormat)
        Description copied from class: NetworkOptions
        Set the value of Netty's logging handler's data format: Netty's pipeline is configured for logging on Netty's logger.
        Overrides:
        setActivityLogDataFormat in class NetServerOptions
        Parameters:
        activityLogDataFormat - the format to use
        Returns:
        a reference to this, so the API can be used fluently
      • setProxyProtocolTimeout

        public HttpServerOptions setProxyProtocolTimeout​(long proxyProtocolTimeout)
        Description copied from class: NetServerOptions
        Set the Proxy protocol timeout, default time unit is seconds.
        Overrides:
        setProxyProtocolTimeout in class NetServerOptions
        Parameters:
        proxyProtocolTimeout - the Proxy protocol timeout to set
        Returns:
        a reference to this, so the API can be used fluently
      • setProxyProtocolTimeoutUnit

        public HttpServerOptions setProxyProtocolTimeoutUnit​(TimeUnit proxyProtocolTimeoutUnit)
        Description copied from class: NetServerOptions
        Set the Proxy protocol timeout unit. If not specified, default is seconds.
        Overrides:
        setProxyProtocolTimeoutUnit in class NetServerOptions
        Parameters:
        proxyProtocolTimeoutUnit - specify time unit.
        Returns:
        a reference to this, so the API can be used fluently
      • isDecompressionSupported

        public boolean isDecompressionSupported()
        Returns:
        true if the server supports decompression
      • setDecompressionSupported

        public HttpServerOptions setDecompressionSupported​(boolean decompressionSupported)
        Set whether the server supports decompression
        Parameters:
        decompressionSupported - true if decompression supported
        Returns:
        a reference to this, so the API can be used fluently
      • getDecoderInitialBufferSize

        public int getDecoderInitialBufferSize()
        Returns:
        the initial buffer size for the HTTP decoder
      • setDecoderInitialBufferSize

        public HttpServerOptions setDecoderInitialBufferSize​(int decoderInitialBufferSize)
        Set the initial buffer size for the HTTP decoder
        Parameters:
        decoderInitialBufferSize - the initial size
        Returns:
        a reference to this, so the API can be used fluently
      • setPerFrameWebSocketCompressionSupported

        public HttpServerOptions setPerFrameWebSocketCompressionSupported​(boolean supported)
        Enable or disable support for the WebSocket per-frame deflate compression extension.
        Parameters:
        supported - true when the per-frame deflate compression extension is supported
        Returns:
        a reference to this, so the API can be used fluently
      • getPerFrameWebSocketCompressionSupported

        public boolean getPerFrameWebSocketCompressionSupported()
        Get whether WebSocket the per-frame deflate compression extension is supported.
        Returns:
        true if the http server will accept the per-frame deflate compression extension
      • setPerMessageWebSocketCompressionSupported

        public HttpServerOptions setPerMessageWebSocketCompressionSupported​(boolean supported)
        Enable or disable support for WebSocket per-message deflate compression extension.
        Parameters:
        supported - true when the per-message WebSocket compression extension is supported
        Returns:
        a reference to this, so the API can be used fluently
      • getPerMessageWebSocketCompressionSupported

        public boolean getPerMessageWebSocketCompressionSupported()
        Get whether WebSocket per-message deflate compression extension is supported.
        Returns:
        true if the http server will accept the per-message deflate compression extension
      • setWebSocketCompressionLevel

        public HttpServerOptions setWebSocketCompressionLevel​(int compressionLevel)
        Set the WebSocket compression level.
        Parameters:
        compressionLevel - the compression level
        Returns:
        a reference to this, so the API can be used fluently
      • getWebSocketCompressionLevel

        public int getWebSocketCompressionLevel()
        Returns:
        the current WebSocket deflate compression level
      • setWebSocketAllowServerNoContext

        public HttpServerOptions setWebSocketAllowServerNoContext​(boolean accept)
        Set whether the WebSocket server will accept the server_no_context_takeover parameter of the per-message deflate compression extension offered by the client.
        Parameters:
        accept - true to accept the server_no_context_takeover parameter when the client offers it
        Returns:
        a reference to this, so the API can be used fluently
      • getWebSocketAllowServerNoContext

        public boolean getWebSocketAllowServerNoContext()
        Returns:
        true when the WebSocket server will accept the server_no_context_takeover parameter for the per-message deflate compression extension offered by the client
      • setWebSocketPreferredClientNoContext

        public HttpServerOptions setWebSocketPreferredClientNoContext​(boolean accept)
        Set whether the WebSocket server will accept the client_no_context_takeover parameter of the per-message deflate compression extension offered by the client.
        Parameters:
        accept - true to accept the client_no_context_takeover parameter when the client offers it
        Returns:
        a reference to this, so the API can be used fluently
      • getWebSocketPreferredClientNoContext

        public boolean getWebSocketPreferredClientNoContext()
        Returns:
        true when the WebSocket server will accept the client_no_context_takeover parameter for the per-message deflate compression extension offered by the client
      • getWebSocketClosingTimeout

        public int getWebSocketClosingTimeout()
        Returns:
        the amount of time (in seconds) a client WebSocket will wait until it closes TCP connection after receiving a close frame
      • setWebSocketClosingTimeout

        public HttpServerOptions setWebSocketClosingTimeout​(int webSocketClosingTimeout)
        Set the amount of time a server WebSocket will wait until it closes the TCP connection after sending a close frame.

        When a server closes a WebSocket, it should wait the client close frame to close the TCP connection. This timeout will close the TCP connection on the server when it expires. When the TCP connection is closed receiving the close frame, the WebSocket.exceptionHandler(io.vertx.core.Handler<java.lang.Throwable>) instead of the WebSocket.endHandler(io.vertx.core.Handler<java.lang.Void>) will be called.

        Set to 0L closes the TCP connection immediately after sending the close frame.

        Set to a negative value to disable it.

        Parameters:
        webSocketClosingTimeout - the timeout is seconds
        Returns:
        a reference to this, so the API can be used fluently
      • getTracingPolicy

        public TracingPolicy getTracingPolicy()
        Returns:
        the tracing policy
      • setTracingPolicy

        public HttpServerOptions setTracingPolicy​(TracingPolicy tracingPolicy)
        Set the tracing policy for the server behavior when Vert.x has tracing enabled.
        Parameters:
        tracingPolicy - the tracing policy
        Returns:
        a reference to this, so the API can be used fluently
      • isRegisterWebSocketWriteHandlers

        public boolean isRegisterWebSocketWriteHandlers()
        Returns:
        true if write-handlers for server websockets should be registered on the EventBus, otherwise false
      • setRegisterWebSocketWriteHandlers

        public HttpServerOptions setRegisterWebSocketWriteHandlers​(boolean registerWebSocketWriteHandlers)
        Whether write-handlers for server websockets should be registered on the EventBus.

        Defaults to false.

        Parameters:
        registerWebSocketWriteHandlers - true to register write-handlers
        Returns:
        a reference to this, so the API can be used fluently
        See Also:
        WebSocketBase.textHandlerID(), WebSocketBase.binaryHandlerID()
      • getHttp2RstFloodMaxRstFramePerWindow

        public int getHttp2RstFloodMaxRstFramePerWindow()
        Returns:
        the max number of RST frame allowed per time window
      • setHttp2RstFloodMaxRstFramePerWindow

        public HttpServerOptions setHttp2RstFloodMaxRstFramePerWindow​(int http2RstFloodMaxRstFramePerWindow)
        Set the max number of RST frame allowed per time window, this is used to prevent HTTP/2 RST frame flood DDOS attacks. The default value is DEFAULT_HTTP2_RST_FLOOD_MAX_RST_FRAME_PER_WINDOW, setting zero or a negative value, disables flood protection.
        Parameters:
        http2RstFloodMaxRstFramePerWindow - the new maximum
        Returns:
        a reference to this, so the API can be used fluently
      • getHttp2RstFloodWindowDuration

        public int getHttp2RstFloodWindowDuration()
        Returns:
        the duration of the time window when checking the max number of RST frames.
      • setHttp2RstFloodWindowDuration

        public HttpServerOptions setHttp2RstFloodWindowDuration​(int http2RstFloodWindowDuration)
        Set the duration of the time window when checking the max number of RST frames, this is used to prevent HTTP/2 RST frame flood DDOS attacks. The default value is DEFAULT_HTTP2_RST_FLOOD_WINDOW_DURATION, setting zero or a negative value, disables flood protection.
        Parameters:
        http2RstFloodWindowDuration - the new duration
        Returns:
        a reference to this, so the API can be used fluently
      • getHttp2RstFloodWindowDurationTimeUnit

        public TimeUnit getHttp2RstFloodWindowDurationTimeUnit()
        Returns:
        the time unit of the duration of the time window when checking the max number of RST frames.
      • setHttp2RstFloodWindowDurationTimeUnit

        public HttpServerOptions setHttp2RstFloodWindowDurationTimeUnit​(TimeUnit http2RstFloodWindowDurationTimeUnit)
        Set the time unit of the duration of the time window when checking the max number of RST frames, this is used to prevent HTTP/2 RST frame flood DDOS attacks. The default value is DEFAULT_HTTP2_RST_FLOOD_WINDOW_DURATION_TIME_UNIT, setting zero or a negative value, disables the flood protection.
        Parameters:
        http2RstFloodWindowDurationTimeUnit - the new duration
        Returns:
        a reference to this, so the API can be used fluently