Class HttpLogConfig.BuilderBase.HttpLogConfigImpl

java.lang.Object
io.helidon.http.HttpLogConfig.BuilderBase.HttpLogConfigImpl
All Implemented Interfaces:
Prototype.Api, HttpLogConfig
Enclosing class:
HttpLogConfig.BuilderBase<BUILDER extends HttpLogConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends HttpLogConfig>

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

    • HttpLogConfigImpl

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

    • receiveLog

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

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

      public Optional<String> loggerName()
      Description copied from interface: HttpLogConfig
      Base name of the logger to use when logging receive and send packets. Either send or recv is added as another level depending on log direction.
      Specified by:
      loggerName in interface HttpLogConfig
      Returns:
      logger name
    • safeHeaders

      public Set<HeaderName> safeHeaders()
      Description copied from interface: HttpLogConfig
      Header names whose values can be logged at debug level, except sensitive names that are always redacted. All other header values are redacted in protocol logs. Headers such as Authorization, cookies, and names containing token, password, secret, or key are never logged even when configured here.
      Specified by:
      safeHeaders in interface HttpLogConfig
      Returns:
      safe header names for protocol logging
    • unsafeRawData

      public boolean unsafeRawData()
      Description copied from interface: HttpLogConfig
      Whether TRACE protocol logs can include raw protocol data.

      This is an unsafe diagnostic option. When enabled together with TRACE logging, protocol logs can include sensitive request or response data such as header values and entity bytes. This option can only be enabled programmatically through the builder.

      Specified by:
      unsafeRawData in interface HttpLogConfig
      Returns:
      whether raw protocol data can be logged at TRACE level
    • 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