Class Http2Config.BuilderBase.Http2ConfigImpl
java.lang.Object
io.helidon.http.HttpConfig.BuilderBase.HttpConfigImpl
io.helidon.webserver.http2.Http2Config.BuilderBase.Http2ConfigImpl
- All Implemented Interfaces:
Prototype.Api, NamedService, HttpConfig, Http2Config, ProtocolConfig
- Enclosing class:
Http2Config.BuilderBase<BUILDER extends Http2Config.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends Http2Config>
protected static class Http2Config.BuilderBase.Http2ConfigImpl
extends HttpConfig.BuilderBase.HttpConfigImpl
implements Http2Config
Generated implementation of the prototype, can be extended by descendant prototype implementations.
-
Nested Class Summary
Nested classes/interfaces inherited from interface Http2Config
Http2Config.Builder, Http2Config.BuilderBase<BUILDER, PROTOTYPE>Modifier and TypeInterfaceDescriptionstatic classFluent API builder forHttp2Config.static classHttp2Config.BuilderBase<BUILDER extends Http2Config.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends Http2Config>Fluent API builder base forHttp2Config.Nested classes/interfaces inherited from interface HttpConfig
HttpConfig.Builder, HttpConfig.BuilderBase<BUILDER, PROTOTYPE>Modifier and TypeInterfaceDescriptionstatic classFluent API builder forHttpConfig.static classHttpConfig.BuilderBase<BUILDER extends HttpConfig.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends HttpConfig>Fluent API builder base forHttpConfig. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedHttp2ConfigImpl(Http2Config.BuilderBase<?, ?> builder) Create an instance providing a builder. -
Method Summary
Modifier and TypeMethodDescriptionaltSvc()ExplicitAlt-Svcadvertisement for responses handled by HTTP routing, excluding HTTP/2 subprotocol responses such as gRPC.booleanOutbound flow control blocking timeout configured asDurationor text in ISO-8601 format.inthashCode()intThis setting indicates the sender's maximum window size in bytes for stream-level flow control.longMaximum number of concurrent streams that the server will allow.intMaximum number of consecutive empty frames allowed on connection.intThe size of the largest frame payload that the sender is willing to receive in bytes.longThe maximum field section size the server advertises to clients using the HTTP/2SETTINGS_MAX_HEADER_LIST_SIZEsetting.intMaximum number of rapid client resets within the check period and server-side resets over the connection lifetime before GOAWAY is sent, or-1to disable both reset-count checks; fixed internal bounds still apply to frames received after the server has locally reset a stream.name()Name of this implementation, as provided inConfiguredProvider.create(Config, String).Period for counting rapid resets(stream RST sent by client before any data have been sent by server).Requested URI discovery settings.booleanWhether to send error message over HTTP to client.toString()booleanWhether to validate path characters and the HTTP/2:pathpseudo-header.Methods inherited from class HttpConfig.BuilderBase.HttpConfigImpl
log, maxBufferedEntitySize, maxHeadersSize, validateRequestHeaders, validateResponseHeadersModifier and TypeMethodDescriptionlog()HTTP Log configuration.Configure the maximum size allowed for an entity that can be explicitly buffered by the application by callingio.helidon.http.media.ReadableEntity.buffer().intConfigure the maximum allowed headers size, which must be greater than0.booleanWhether to validate request headers.booleanWhether to validate response headers.Methods inherited from interface Http2Config
typeMethods inherited from interface ProtocolConfig
enabled, transportBindingTypesModifier and TypeMethodDescriptiondefault booleanenabled()Whether this protocol configuration is enabled.Transport binding provider keys compatible with this protocol.
-
Constructor Details
-
Http2ConfigImpl
Create an instance providing a builder.- Parameters:
builder- extending builder base of this prototype
-
-
Method Details
-
maxFrameSize
public int maxFrameSize()Description copied from interface:Http2ConfigThe size of the largest frame payload that the sender is willing to receive in bytes. Default value is16384and maximum value is 224-1 = 16777215 bytes. See RFC 9113 section 6.5.2 for details.- Specified by:
maxFrameSizein interfaceHttp2Config- Returns:
- maximal frame size
-
maxHeaderListSize
public long maxHeaderListSize()Description copied from interface:Http2ConfigThe maximum field section size the server advertises to clients using the HTTP/2SETTINGS_MAX_HEADER_LIST_SIZEsetting.This setting is sent to the peer as an HTTP/2 protocol hint. Helidon's local request header size enforcement is configured by
HttpConfig.maxHeadersSize().See RFC 9113 section 6.5.2 for details. Default is 8192.
- Specified by:
maxHeaderListSizein interfaceHttp2Config- Returns:
- maximal header list size in bytes advertised in the HTTP/2 settings
-
maxConcurrentStreams
public long maxConcurrentStreams()Description copied from interface:Http2ConfigMaximum number of concurrent streams that the server will allow. Defaults to8192. This limit is directional: it applies to the number of streams that the sender permits the receiver to create. It is recommended that this value be no smaller than 100 to not unnecessarily limit parallelism See RFC 9113 section 6.5.2 for details.- Specified by:
maxConcurrentStreamsin interfaceHttp2Config- Returns:
- maximal number of concurrent streams
-
initialWindowSize
public int initialWindowSize()Description copied from interface:Http2ConfigThis setting indicates the sender's maximum window size in bytes for stream-level flow control. Default and maximum value is 231-1 = 2147483647 bytes. This setting affects the window size of HTTP/2 connection. Any value greater than 2147483647 causes an error. Any value smaller than initial window size causes an error. See RFC 9113 section 6.9.1 for details.- Specified by:
initialWindowSizein interfaceHttp2Config- Returns:
- maximum window size in bytes
-
flowControlTimeout
Description copied from interface:Http2ConfigOutbound flow control blocking timeout configured asDurationor text in ISO-8601 format. Blocking timeout defines an interval to wait for the outbound window size changes(incoming window updates). Default value isPT15S.ISO_8601 format examples: PT0.1S 100 milliseconds PT0.5S 500 milliseconds PT2S 2 seconds - Specified by:
flowControlTimeoutin interfaceHttp2Config- Returns:
- duration
- See Also:
-
sendErrorDetails
public boolean sendErrorDetails()Description copied from interface:Http2ConfigWhether to send error message over HTTP to client. Defaults tofalse, as exception message may contain internal information that could be used as an attack vector. Use with care and in cases where both server and clients are under your full control (such as for testing).- Specified by:
sendErrorDetailsin interfaceHttp2Config- Returns:
- whether to send error messages over the network
-
rapidResetCheckPeriod
Description copied from interface:Http2ConfigPeriod for counting rapid resets(stream RST sent by client before any data have been sent by server). Default value isPT10S.- Specified by:
rapidResetCheckPeriodin interfaceHttp2Config- Returns:
- duration
- See Also:
-
maxRapidResets
public int maxRapidResets()Description copied from interface:Http2ConfigMaximum number of rapid client resets within the check period and server-side resets over the connection lifetime before GOAWAY is sent, or-1to disable both reset-count checks; fixed internal bounds still apply to frames received after the server has locally reset a stream. Rapid client resets are stream RST frames sent by the client before any data have been sent by the server. Default value is50.- Specified by:
maxRapidResetsin interfaceHttp2Config- Returns:
- maximum number of resets
-
maxEmptyFrames
public int maxEmptyFrames()Description copied from interface:Http2ConfigMaximum number of consecutive empty frames allowed on connection.- Specified by:
maxEmptyFramesin interfaceHttp2Config- Returns:
- max number of consecutive empty frames
-
validatePath
public boolean validatePath()Description copied from interface:Http2ConfigWhether to validate path characters and the HTTP/2:pathpseudo-header.- Specified by:
validatePathin interfaceHttp2Config- Returns:
- whether to validate path
-
altSvc
Description copied from interface:Http2ConfigExplicitAlt-Svcadvertisement for responses handled by HTTP routing, excluding HTTP/2 subprotocol responses such as gRPC.- Specified by:
altSvcin interfaceHttp2Config- Returns:
- alternative service advertisement
-
requestedUriDiscovery
Description copied from interface:Http2ConfigRequested URI discovery settings.- Specified by:
requestedUriDiscoveryin interfaceHttp2Config- Returns:
- settings for computing the requested URI
-
name
Description copied from interface:NamedServiceName of this implementation, as provided inConfiguredProvider.create(Config, String).- Specified by:
namein interfaceNamedService- Returns:
- name of this service
-
toString
- Overrides:
toStringin classHttpConfig.BuilderBase.HttpConfigImpl
-
equals
- Overrides:
equalsin classHttpConfig.BuilderBase.HttpConfigImpl
-
hashCode
public int hashCode()- Overrides:
hashCodein classHttpConfig.BuilderBase.HttpConfigImpl
-