Package io.vertx.ext.shell.term

## Class HttpTermOptions

- java.lang.Object
- - io.vertx.core.net.NetworkOptions
  - - io.vertx.core.net.TCPSSLOptions
    - - io.vertx.core.net.NetServerOptions
      - - io.vertx.core.http.HttpServerOptions
        - - io.vertx.ext.shell.term.HttpTermOptions

-     public class HttpTermOptions
      extends HttpServerOptions

  The web term configuration options.
  Author:
    Julien Viet

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `DEFAULT_CHARSET` |
    `static String` | `DEFAULT_INPUTRC` |

    - ### Fields inherited from class io.vertx.core.http.HttpServerOptions

      `DEFAULT_ACCEPT_UNMASKED_FRAMES, DEFAULT_ALPN_VERSIONS, DEFAULT_COMPRESSION_CONTENT_SIZE_THRESHOLD, DEFAULT_COMPRESSION_LEVEL, DEFAULT_COMPRESSION_SUPPORTED, DEFAULT_DECODER_INITIAL_BUFFER_SIZE, DEFAULT_DECOMPRESSION_SUPPORTED, DEFAULT_HANDLE_100_CONTINE_AUTOMATICALLY, DEFAULT_HTTP2_CLEAR_TEXT_ENABLED, DEFAULT_HTTP2_CONNECTION_WINDOW_SIZE, DEFAULT_HTTP2_RST_FLOOD_MAX_RST_FRAME_PER_WINDOW, DEFAULT_HTTP2_RST_FLOOD_WINDOW_DURATION, DEFAULT_HTTP2_RST_FLOOD_WINDOW_DURATION_TIME_UNIT, DEFAULT_INITIAL_SETTINGS_MAX_CONCURRENT_STREAMS, DEFAULT_MAX_CHUNK_SIZE, DEFAULT_MAX_FORM_ATTRIBUTE_SIZE, DEFAULT_MAX_FORM_BUFFERED_SIZE, DEFAULT_MAX_FORM_FIELDS, DEFAULT_MAX_HEADER_SIZE, DEFAULT_MAX_INITIAL_LINE_LENGTH, DEFAULT_MAX_WEBSOCKET_FRAME_SIZE, DEFAULT_MAX_WEBSOCKET_MESSAGE_SIZE, DEFAULT_PER_FRAME_WEBSOCKET_COMPRESSION_SUPPORTED, DEFAULT_PER_MESSAGE_WEBSOCKET_COMPRESSION_SUPPORTED, DEFAULT_PORT, DEFAULT_REGISTER_WEBSOCKET_WRITE_HANDLERS, DEFAULT_STRICT_THREAD_MODE_STRICT, DEFAULT_TRACING_POLICY, DEFAULT_WEBSOCKET_ALLOW_SERVER_NO_CONTEXT, DEFAULT_WEBSOCKET_CLOSING_TIMEOUT, DEFAULT_WEBSOCKET_COMPRESSION_LEVEL, DEFAULT_WEBSOCKET_PREFERRED_CLIENT_NO_CONTEXT`

    - ### Fields inherited from class io.vertx.core.net.NetServerOptions

      `DEFAULT_ACCEPT_BACKLOG, DEFAULT_HOST, DEFAULT_PROXY_PROTOCOL_TIMEOUT, DEFAULT_PROXY_PROTOCOL_TIMEOUT_TIME_UNIT, DEFAULT_REGISTER_WRITE_HANDLER, DEFAULT_USE_PROXY_PROTOCOL`

    - ### Fields inherited from class io.vertx.core.net.TCPSSLOptions

      `DEFAULT_IDLE_TIMEOUT, DEFAULT_IDLE_TIMEOUT_TIME_UNIT, DEFAULT_READ_IDLE_TIMEOUT, DEFAULT_SO_LINGER, DEFAULT_SSL, DEFAULT_SSL_ENGINE, DEFAULT_TCP_CORK, DEFAULT_TCP_FAST_OPEN, DEFAULT_TCP_KEEP_ALIVE, DEFAULT_TCP_NO_DELAY, DEFAULT_TCP_QUICKACK, DEFAULT_TCP_USER_TIMEOUT, DEFAULT_WRITE_IDLE_TIMEOUT`

    - ### Fields inherited from class io.vertx.core.net.NetworkOptions

      `DEFAULT_LOG_ACTIVITY_FORMAT, DEFAULT_LOG_ENABLED, DEFAULT_RECEIVE_BUFFER_SIZE, DEFAULT_REUSE_ADDRESS, DEFAULT_REUSE_PORT, DEFAULT_SEND_BUFFER_SIZE, DEFAULT_TRAFFIC_CLASS`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `HttpTermOptions()` |
    `HttpTermOptions​(JsonObject json)` |
    `HttpTermOptions​(HttpTermOptions that)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `HttpTermOptions` | `addCrlPath​(String crlPath)` | Add a CRL path
    `HttpTermOptions` | `addCrlValue​(Buffer crlValue)` | Add a CRL value
    `HttpTermOptions` | `addEnabledCipherSuite​(String suite)` | Add an enabled cipher suite, appended to the ordered suites.
    `static Buffer` | `defaultShellHtmlResource()` |
    `static Buffer` | `defaultTermJsResource()` |
    `static Buffer` | `defaultVertxShellJsResource()` |
    `JsonObject` | `getAuthOptions()` |
    `String` | `getCharset()` |
    `String` | `getIntputrc()` |
    `Buffer` | `getShellHtmlResource()` |
    `SockJSHandlerOptions` | `getSockJSHandlerOptions()` |
    `String` | `getSockJSPath()` |
    `Buffer` | `getTermJsResource()` |
    `Buffer` | `getVertsShellJsResource()` |
    `HttpTermOptions` | `setAcceptBacklog​(int acceptBacklog)` | Set the accept back log
    `HttpTermOptions` | `setAuthOptions​(JsonObject authOptions)` | Set the auth options.
    `HttpTermOptions` | `setCharset​(String charset)` | Set the charset used for encoding / decoding text data from/to SockJS
    `HttpTermOptions` | `setClientAuth​(ClientAuth clientAuth)` | Set whether client auth is required
    `HttpTermOptions` | `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)
    `HttpTermOptions` | `setHandle100ContinueAutomatically​(boolean handle100ContinueAutomatically)` | Set whether 100 Continue should be handled automatically
    `HttpTermOptions` | `setHost​(String host)` | Set the host
    `HttpTermOptions` | `setIdleTimeout​(int idleTimeout)` | Set the idle timeout, default time unit is seconds.
    `HttpTermOptions` | `setIntputrc​(String intputrc)` | The path of the inputrc config.
    `HttpTermOptions` | `setPort​(int port)` | Set the port
    `HttpTermOptions` | `setReceiveBufferSize​(int receiveBufferSize)` | Set the TCP receive buffer size
    `HttpTermOptions` | `setReuseAddress​(boolean reuseAddress)` | Set the value of reuse address
    `HttpTermOptions` | `setSendBufferSize​(int sendBufferSize)` | Set the TCP send buffer size
    `HttpTermOptions` | `setShellHtmlResource​(Buffer shellHtmlResource)` | Set `shell.html` resource to use.
    `HttpTermOptions` | `setSockJSHandlerOptions​(SockJSHandlerOptions sockJSHandlerOptions)` | The SockJS handler options.
    `HttpTermOptions` | `setSockJSPath​(String sockJSPath)` | Configure the SockJS path, the default value is `/term/*`.
    `HttpTermOptions` | `setSoLinger​(int soLinger)` | Set whether SO_linger keep alive is enabled
    `HttpTermOptions` | `setSsl​(boolean ssl)` | Set whether SSL/TLS is enabled
    `HttpTermOptions` | `setTcpKeepAlive​(boolean tcpKeepAlive)` | Set whether TCP keep alive is enabled
    `HttpTermOptions` | `setTcpNoDelay​(boolean tcpNoDelay)` | Set whether TCP no delay is enabled
    `HttpTermOptions` | `setTermJsResource​(Buffer termJsResource)` | Set `term.js` resource to use.
    `HttpTermOptions` | `setTrafficClass​(int trafficClass)` | Set the value of traffic class
    `HttpTermOptions` | `setVertsShellJsResource​(Buffer vertsShellJsResource)` | Set `vertxshell.js` resource to use.

    - ### Methods inherited from class io.vertx.core.http.HttpServerOptions

      `addCompressor, addEnabledSecureTransportProtocol, addWebSocketSubProtocol, copy, getAlpnVersions, getCompressionContentSizeThreshold, getCompressionLevel, getCompressors, getDecoderInitialBufferSize, getHttp2ConnectionWindowSize, getHttp2RstFloodMaxRstFramePerWindow, getHttp2RstFloodWindowDuration, getHttp2RstFloodWindowDurationTimeUnit, getInitialSettings, getMaxChunkSize, getMaxFormAttributeSize, getMaxFormBufferedBytes, getMaxFormFields, getMaxHeaderSize, getMaxInitialLineLength, getMaxWebSocketFrameSize, getMaxWebSocketMessageSize, getPerFrameWebSocketCompressionSupported, getPerMessageWebSocketCompressionSupported, getStrictThreadMode, getTracingPolicy, getWebSocketAllowServerNoContext, getWebSocketClosingTimeout, getWebSocketCompressionLevel, getWebSocketPreferredClientNoContext, getWebSocketSubProtocols, isAcceptUnmaskedFrames, isCompressionSupported, isDecompressionSupported, isFileRegionEnabled, isHandle100ContinueAutomatically, isHttp2ClearTextEnabled, isRegisterWebSocketWriteHandlers, isRegisterWriteHandler, removeEnabledCipherSuite, removeEnabledSecureTransportProtocol, setAcceptUnmaskedFrames, setActivityLogDataFormat, setAlpnVersions, setCompressionContentSizeThreshold, setCompressionLevel, setCompressors, setDecoderInitialBufferSize, setDecompressionSupported, setEnabledSecureTransportProtocols, setHttp2ClearTextEnabled, setHttp2ConnectionWindowSize, setHttp2RstFloodMaxRstFramePerWindow, setHttp2RstFloodWindowDuration, setHttp2RstFloodWindowDurationTimeUnit, setIdleTimeoutUnit, setInitialSettings, setKeyCertOptions, setLogActivity, setMaxChunkSize, setMaxFormAttributeSize, setMaxFormBufferedBytes, setMaxFormFields, setMaxHeaderSize, setMaxInitialLineLength, setMaxWebSocketFrameSize, setMaxWebSocketMessageSize, setPerFrameWebSocketCompressionSupported, setPerMessageWebSocketCompressionSupported, setProxyProtocolTimeout, setProxyProtocolTimeoutUnit, setReadIdleTimeout, setRegisterWebSocketWriteHandlers, setRegisterWriteHandler, setReusePort, setSni, setSslEngineOptions, setSslHandshakeTimeout, setSslHandshakeTimeoutUnit, setStrictThreadMode, setTcpCork, setTcpFastOpen, setTcpQuickAck, setTracingPolicy, setTrafficShapingOptions, setTrustOptions, setUseAlpn, setUseProxyProtocol, setWebSocketAllowServerNoContext, setWebSocketClosingTimeout, setWebSocketCompressionLevel, setWebSocketPreferredClientNoContext, setWebSocketSubProtocols, setWriteIdleTimeout, toJson`

    - ### Methods inherited from class io.vertx.core.net.NetServerOptions

      `getAcceptBacklog, getClientAuth, getHost, getOrCreateSSLOptions, getPort, getProxyProtocolTimeout, getProxyProtocolTimeoutUnit, getSslOptions, getTrafficShapingOptions, isSni, isUseProxyProtocol`

    - ### Methods inherited from class io.vertx.core.net.TCPSSLOptions

      `getCrlPaths, getCrlValues, getEnabledCipherSuites, getEnabledSecureTransportProtocols, getIdleTimeout, getIdleTimeoutUnit, getKeyCertOptions, getReadIdleTimeout, getSoLinger, getSslEngineOptions, getSslHandshakeTimeout, getSslHandshakeTimeoutUnit, getTcpUserTimeout, getTrustOptions, getWriteIdleTimeout, isSsl, isTcpCork, isTcpFastOpen, isTcpKeepAlive, isTcpNoDelay, isTcpQuickAck, isUseAlpn, setTcpUserTimeout`

    - ### Methods inherited from class io.vertx.core.net.NetworkOptions

      `getActivityLogDataFormat, getLogActivity, getReceiveBufferSize, getSendBufferSize, getTrafficClass, isReuseAddress, isReusePort`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_CHARSET

          public static final String DEFAULT_CHARSET

    - #### DEFAULT_INPUTRC

          public static final String DEFAULT_INPUTRC

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### HttpTermOptions

          public HttpTermOptions()

    - #### HttpTermOptions

          public HttpTermOptions​(JsonObject json)

    - #### HttpTermOptions

          public HttpTermOptions​(HttpTermOptions that)

  - ### Method Detail

    - #### defaultVertxShellJsResource

          public static Buffer defaultVertxShellJsResource()

      Returns:
        the `vertxshell.js` default resource as a buffer

    - #### defaultTermJsResource

          public static Buffer defaultTermJsResource()

      Returns:
        the `term.js` default resource as a buffer

    - #### defaultShellHtmlResource

          public static Buffer defaultShellHtmlResource()

      Returns:
        the `shell.html` default resource as a buffer

    - #### getSockJSHandlerOptions

          public SockJSHandlerOptions getSockJSHandlerOptions()

      Returns:
        the SockJS handler options

    - #### setSockJSHandlerOptions

          public HttpTermOptions setSockJSHandlerOptions​(SockJSHandlerOptions sockJSHandlerOptions)

      The SockJS handler options.
      Parameters:
        `sockJSHandlerOptions` - the options to use
      Returns:
        a reference to this, so the API can be used fluently

    - #### getSockJSPath

          public String getSockJSPath()

      Returns:
        the SockJS path

    - #### setSockJSPath

          public HttpTermOptions setSockJSPath​(String sockJSPath)

      Configure the SockJS path, the default value is `/term/*`.
      Parameters:
        `sockJSPath` - the new SockJS path
      Returns:
        a reference to this, so the API can be used fluently

    - #### getAuthOptions

          public JsonObject getAuthOptions()

      Returns:
        the auth options

    - #### setAuthOptions

          public HttpTermOptions setAuthOptions​(JsonObject authOptions)

      Set the auth options.
      Parameters:
        `authOptions` - the auth options
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSendBufferSize

          public HttpTermOptions setSendBufferSize​(int sendBufferSize)

      Description copied from class: `NetworkOptions`
      Set the TCP send buffer size
      Overrides:
        `setSendBufferSize` in class `HttpServerOptions`
      Parameters:
        `sendBufferSize` - the buffers size, in bytes
      Returns:
        a reference to this, so the API can be used fluently

    - #### setReceiveBufferSize

          public HttpTermOptions setReceiveBufferSize​(int receiveBufferSize)

      Description copied from class: `NetworkOptions`
      Set the TCP receive buffer size
      Overrides:
        `setReceiveBufferSize` in class `HttpServerOptions`
      Parameters:
        `receiveBufferSize` - the buffers size, in bytes
      Returns:
        a reference to this, so the API can be used fluently

    - #### setReuseAddress

          public HttpTermOptions setReuseAddress​(boolean reuseAddress)

      Description copied from class: `NetworkOptions`
      Set the value of reuse address
      Overrides:
        `setReuseAddress` in class `HttpServerOptions`
      Parameters:
        `reuseAddress` - the value of reuse address
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTrafficClass

          public HttpTermOptions setTrafficClass​(int trafficClass)

      Description copied from class: `NetworkOptions`
      Set the value of traffic class
      Overrides:
        `setTrafficClass` in class `HttpServerOptions`
      Parameters:
        `trafficClass` - the value of traffic class
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTcpNoDelay

          public HttpTermOptions setTcpNoDelay​(boolean tcpNoDelay)

      Description copied from class: `TCPSSLOptions`
      Set whether TCP no delay is enabled
      Overrides:
        `setTcpNoDelay` in class `HttpServerOptions`
      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 HttpTermOptions setTcpKeepAlive​(boolean tcpKeepAlive)

      Description copied from class: `TCPSSLOptions`
      Set whether TCP keep alive is enabled
      Overrides:
        `setTcpKeepAlive` in class `HttpServerOptions`
      Parameters:
        `tcpKeepAlive` - true if TCP keep alive is enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSoLinger

          public HttpTermOptions setSoLinger​(int soLinger)

      Description copied from class: `TCPSSLOptions`
      Set whether SO_linger keep alive is enabled
      Overrides:
        `setSoLinger` in class `HttpServerOptions`
      Parameters:
        `soLinger` - true if SO_linger is enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setIdleTimeout

          public HttpTermOptions 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 `HttpServerOptions`
      Parameters:
        `idleTimeout` - the timeout
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSsl

          public HttpTermOptions setSsl​(boolean ssl)

      Description copied from class: `TCPSSLOptions`
      Set whether SSL/TLS is enabled
      Overrides:
        `setSsl` in class `HttpServerOptions`
      Parameters:
        `ssl` - true if enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### addEnabledCipherSuite

          public HttpTermOptions addEnabledCipherSuite​(String suite)

      Description copied from class: `TCPSSLOptions`
      Add an enabled cipher suite, appended to the ordered suites.
      Overrides:
        `addEnabledCipherSuite` in class `HttpServerOptions`
      Parameters:
        `suite` - the suite
      Returns:
        a reference to this, so the API can be used fluently
      See Also:
        `TCPSSLOptions.getEnabledCipherSuites()`

    - #### addCrlPath

          public HttpTermOptions addCrlPath​(String crlPath)
                                     throws NullPointerException

      Description copied from class: `TCPSSLOptions`
      Add a CRL path
      Overrides:
        `addCrlPath` in class `HttpServerOptions`
      Parameters:
        `crlPath` - the path
      Returns:
        a reference to this, so the API can be used fluently
      Throws:
        `NullPointerException`

    - #### addCrlValue

          public HttpTermOptions addCrlValue​(Buffer crlValue)
                                      throws NullPointerException

      Description copied from class: `TCPSSLOptions`
      Add a CRL value
      Overrides:
        `addCrlValue` in class `HttpServerOptions`
      Parameters:
        `crlValue` - the value
      Returns:
        a reference to this, so the API can be used fluently
      Throws:
        `NullPointerException`

    - #### setAcceptBacklog

          public HttpTermOptions setAcceptBacklog​(int acceptBacklog)

      Description copied from class: `NetServerOptions`
      Set the accept back log
      Overrides:
        `setAcceptBacklog` in class `HttpServerOptions`
      Parameters:
        `acceptBacklog` - accept backlog
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPort

          public HttpTermOptions setPort​(int port)

      Description copied from class: `NetServerOptions`
      Set the port
      Overrides:
        `setPort` in class `HttpServerOptions`
      Parameters:
        `port` - the port
      Returns:
        a reference to this, so the API can be used fluently

    - #### setHost

          public HttpTermOptions setHost​(String host)

      Description copied from class: `NetServerOptions`
      Set the host
      Overrides:
        `setHost` in class `HttpServerOptions`
      Parameters:
        `host` - the host
      Returns:
        a reference to this, so the API can be used fluently

    - #### setClientAuth

          public HttpTermOptions setClientAuth​(ClientAuth clientAuth)

      Description copied from class: `NetServerOptions`
      Set whether client auth is required
      Overrides:
        `setClientAuth` in class `HttpServerOptions`
      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

    - #### setCompressionSupported

          public HttpTermOptions setCompressionSupported​(boolean compressionSupported)

      Description copied from class: `HttpServerOptions`
      Set whether the server should support gzip/deflate compression (serving compressed responses to clients advertising support for them with Accept-Encoding header)
      Overrides:
        `setCompressionSupported` in class `HttpServerOptions`
      Parameters:
        `compressionSupported` - `true` to enable compression support
      Returns:
        a reference to this, so the API can be used fluently

    - #### setHandle100ContinueAutomatically

          public HttpTermOptions setHandle100ContinueAutomatically​(boolean handle100ContinueAutomatically)

      Description copied from class: `HttpServerOptions`
      Set whether 100 Continue should be handled automatically
      Overrides:
        `setHandle100ContinueAutomatically` in class `HttpServerOptions`
      Parameters:
        `handle100ContinueAutomatically` - `true` if it should be handled automatically
      Returns:
        a reference to this, so the API can be used fluently

    - #### getVertsShellJsResource

          public Buffer getVertsShellJsResource()

      Returns:
        the `vertxshell.js` resource for this server

    - #### setVertsShellJsResource

          public HttpTermOptions setVertsShellJsResource​(Buffer vertsShellJsResource)

      Set `vertxshell.js` resource to use.
      Parameters:
        `vertsShellJsResource` - the resource
      Returns:
        a reference to this, so the API can be used fluently

    - #### getTermJsResource

          public Buffer getTermJsResource()

      Returns:
        the `term.js` resource for this server

    - #### setTermJsResource

          public HttpTermOptions setTermJsResource​(Buffer termJsResource)

      Set `term.js` resource to use.
      Parameters:
        `termJsResource` - the resource
      Returns:
        a reference to this, so the API can be used fluently

    - #### getShellHtmlResource

          public Buffer getShellHtmlResource()

      Returns:
        the `shell.html` resource for this server

    - #### setShellHtmlResource

          public HttpTermOptions setShellHtmlResource​(Buffer shellHtmlResource)

      Set `shell.html` resource to use.
      Parameters:
        `shellHtmlResource` - the resource
      Returns:
        a reference to this, so the API can be used fluently

    - #### getCharset

          public String getCharset()

      Returns:
        the charset used for encoding / decoding text from/to SockJS

    - #### setCharset

          public HttpTermOptions setCharset​(String charset)

      Set the charset used for encoding / decoding text data from/to SockJS
      Parameters:
        `charset` - the charset to use
      Returns:
        a reference to this, so the API can be used fluently

    - #### getIntputrc

          public String getIntputrc()

      Returns:
        the current path of the inputrc config

    - #### setIntputrc

          public HttpTermOptions setIntputrc​(String intputrc)

      The path of the inputrc config.
      Parameters:
        `intputrc` - the path of the inputrc config
      Returns:
        a reference to this, so the API can be used fluently