Interface Http1Config

All Superinterfaces:
NamedService, ProtocolConfig, Prototype.Api
All Known Implementing Classes:
Http1Config.BuilderBase.Http1ConfigImpl

public interface Http1Config extends Prototype.Api
HTTP/1.1 server configuration.
See Also:
  • Method Details

    • builder

      static Http1Config.Builder builder()
      Create a new fluent API builder to customize configuration.
      Returns:
      a new builder
    • builder

      static Http1Config.Builder builder(Http1Config instance)
      Create a new fluent API builder from an existing instance.
      Parameters:
      instance - an existing instance used as a base for the builder
      Returns:
      a builder based on an instance
    • create

      static Http1Config create(Config config)
      Create a new instance from configuration.
      Parameters:
      config - used to configure the new instance
      Returns:
      a new instance configured from configuration
    • create

      static Http1Config create()
      Create a new instance with default values.
      Returns:
      a new instance
    • name

      String name()
      Name of this configuration, in most cases the same as NamedService.type().
      Specified by:
      name in interface NamedService
      Returns:
      name of this configuration
    • maxPrologueLength

      int maxPrologueLength()
      Maximal size of received HTTP prologue (GET /path HTTP/1.1).
      Returns:
      maximal size in bytes
    • maxHeadersSize

      int maxHeadersSize()
      Maximal size of received headers in bytes.
      Returns:
      maximal header size
    • validateRequestHeaders

      boolean validateRequestHeaders()
      Whether to validate headers. If set to false, any value is accepted, otherwise validates headers + known headers are validated by format (content length is always validated as it is part of protocol processing (other headers may be validated if features use them)).

      Defaults to true.

      Returns:
      whether to validate headers
    • validateRequestHostHeader

      @Deprecated(forRemoval=true, since="4.1.3") boolean validateRequestHostHeader()
      Deprecated, for removal: This API element is subject to removal in a future version.
      this switch exists for temporary backward compatible behavior, and will be removed in a future Helidon version
      Request host header validation. When host header is invalid, we return Status.BAD_REQUEST_400.

      The validation is done according to RFC-3986 (see UriValidator). This is a requirement of the HTTP specification.

      This option allows you to disable the "full-blown" validation ("simple" validation is still in - the port must be parseable to integer).

      Returns:
      whether to do a full validation of Host header according to the specification
    • validateResponseHeaders

      boolean validateResponseHeaders()
      Whether to validate headers. If set to false, any value is accepted, otherwise validates headers + known headers are validated by format (content length is always validated as it is part of protocol processing (other headers may be validated if features use them)).

      Defaults to false as user has control on the header creation.

      Returns:
      whether to validate headers
    • validatePrologue

      boolean validatePrologue()
      If set to false, any query and fragment is accepted (even containing illegal characters). Validation of path is controlled by validatePath().
      Returns:
      whether to validate prologue query and fragment
    • validatePath

      boolean validatePath()
      If set to false, any path is accepted (even containing illegal characters).
      Returns:
      whether to validate path
    • receiveLog

      boolean receiveLog()
      Logging of received packets. Uses trace and debug levels on logger of Http1LoggingConnectionListener with suffix of .recv`.
      Returns:
      true if logging should be enabled for received packets, false if no logging should be done
    • sendLog

      boolean sendLog()
      Logging of sent packets. Uses trace and debug levels on logger of Http1LoggingConnectionListener with suffix of .send`.
      Returns:
      true if logging should be enabled for sent packets, false if no logging should be done
    • continueImmediately

      boolean continueImmediately()
      When true WebServer answers to expect continue with 100 continue immediately, not waiting for user to actually request the data.
      Returns:
      if true answer with 100 continue immediately after expect continue
    • requestedUriDiscovery

      RequestedUriDiscoveryContext requestedUriDiscovery()
      Requested URI discovery settings.
      Returns:
      settings for computing the requested URI
    • sendListeners

      List<Http1ConnectionListener> sendListeners()
      Connection send event listeners for HTTP/1.1.
      Returns:
      send event listeners
    • receiveListeners

      List<Http1ConnectionListener> receiveListeners()
      Connection receive event listeners for HTTP/1.1.
      Returns:
      receive event listeners
    • compositeSendListener

      Http1ConnectionListener compositeSendListener()
      A single send listener, this value is computed.
      Returns:
      send listener
    • compositeReceiveListener

      Http1ConnectionListener compositeReceiveListener()
      A single receive listener, this value is computed.
      Returns:
      receive listener
    • type

      default String type()
      Protocol configuration type.
      Specified by:
      type in interface NamedService
      Returns:
      type of this configuration