Class Http1Config.BuilderBase.Http1ConfigImpl

java.lang.Object
io.helidon.webserver.http1.Http1Config.BuilderBase.Http1ConfigImpl
All Implemented Interfaces:
Prototype.Api, NamedService, Http1Config, ProtocolConfig
Enclosing class:
Http1Config.BuilderBase<BUILDER extends Http1Config.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends Http1Config>

protected static class Http1Config.BuilderBase.Http1ConfigImpl extends Object implements Http1Config
Generated implementation of the prototype, can be extended by descendant prototype implementations.
  • Constructor Details

    • Http1ConfigImpl

      protected Http1ConfigImpl(Http1Config.BuilderBase<?,?> builder)
      Create an instance providing a builder.
      Parameters:
      builder - extending builder base of this prototype
  • Method Details

    • name

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

      public int maxPrologueLength()
      Description copied from interface: Http1Config
      Maximal size of received HTTP prologue (GET /path HTTP/1.1).
      Specified by:
      maxPrologueLength in interface Http1Config
      Returns:
      maximal size in bytes
    • maxHeadersSize

      public int maxHeadersSize()
      Description copied from interface: Http1Config
      Maximal size of received headers in bytes.
      Specified by:
      maxHeadersSize in interface Http1Config
      Returns:
      maximal header size
    • validateRequestHeaders

      public boolean validateRequestHeaders()
      Description copied from interface: Http1Config
      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.

      Specified by:
      validateRequestHeaders in interface Http1Config
      Returns:
      whether to validate headers
    • validateRequestHostHeader

      public boolean validateRequestHostHeader()
      Description copied from interface: Http1Config
      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).

      Specified by:
      validateRequestHostHeader in interface Http1Config
      Returns:
      whether to do a full validation of Host header according to the specification
    • validateResponseHeaders

      public boolean validateResponseHeaders()
      Description copied from interface: Http1Config
      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.

      Specified by:
      validateResponseHeaders in interface Http1Config
      Returns:
      whether to validate headers
    • validatePrologue

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

      public boolean validatePath()
      Description copied from interface: Http1Config
      If set to false, any path is accepted (even containing illegal characters).
      Specified by:
      validatePath in interface Http1Config
      Returns:
      whether to validate path
    • receiveLog

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

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

      public boolean continueImmediately()
      Description copied from interface: Http1Config
      When true WebServer answers to expect continue with 100 continue immediately, not waiting for user to actually request the data.
      Specified by:
      continueImmediately in interface Http1Config
      Returns:
      if true answer with 100 continue immediately after expect continue
    • requestedUriDiscovery

      public RequestedUriDiscoveryContext requestedUriDiscovery()
      Description copied from interface: Http1Config
      Requested URI discovery settings.
      Specified by:
      requestedUriDiscovery in interface Http1Config
      Returns:
      settings for computing the requested URI
    • sendListeners

      public List<Http1ConnectionListener> sendListeners()
      Description copied from interface: Http1Config
      Connection send event listeners for HTTP/1.1.
      Specified by:
      sendListeners in interface Http1Config
      Returns:
      send event listeners
    • receiveListeners

      public List<Http1ConnectionListener> receiveListeners()
      Description copied from interface: Http1Config
      Connection receive event listeners for HTTP/1.1.
      Specified by:
      receiveListeners in interface Http1Config
      Returns:
      receive event listeners
    • compositeSendListener

      public Http1ConnectionListener compositeSendListener()
      Description copied from interface: Http1Config
      A single send listener, this value is computed.
      Specified by:
      compositeSendListener in interface Http1Config
      Returns:
      send listener
    • compositeReceiveListener

      public Http1ConnectionListener compositeReceiveListener()
      Description copied from interface: Http1Config
      A single receive listener, this value is computed.
      Specified by:
      compositeReceiveListener in interface Http1Config
      Returns:
      receive listener
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • type

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