Package io.quarkus.vertx.http.runtime
Class HttpConfiguration
- java.lang.Object
-
- io.quarkus.vertx.http.runtime.HttpConfiguration
-
@ConfigRoot(phase=RUN_TIME) public class HttpConfiguration extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
HttpConfiguration.InsecureRequests
static class
HttpConfiguration.PayloadHint
-
Field Summary
Fields Modifier and Type Field Description int
acceptBacklog
The accept backlog, this is how many connections can be waiting to be accepted before connections start being rejected(package private) AccessLogConfig
accessLog
BodyConfig
body
Request body related settingsCORSConfig
cors
The CORS configboolean
corsEnabled
Enable the CORS filter.String
domainSocket
Path to a unix domain socketboolean
domainSocketEnabled
Enable listening to host:portOptional<String>
encryptionKey
The encryption key that is used to store persistent logins (e.g.Map<String,FilterConfig>
filter
Additional HTTP configuration per pathboolean
handle100ContinueAutomatically
When set totrue
, the HTTP server automatically sends `100 CONTINUE` response when the request expects it (with the `Expect: 100-Continue` header).Map<String,HeaderConfig>
header
Additional HTTP Headers always sent in the responseString
host
The HTTP host In dev/test mode this defaults to localhost, in prod mode this defaults to 0.0.0.0 Defaulting to 0.0.0.0 makes it easier to deploy Quarkus to container, however it is not suitable for dev/test mode as other people on the network can connect to your development machine.boolean
hostEnabled
Enable listening to host:portboolean
http2
If this is true (the default) then HTTP/2 will be enabled.Duration
idleTimeout
Http connection idle timeoutHttpConfiguration.InsecureRequests
insecureRequests
If insecure (i.e.OptionalInt
ioThreads
The number if IO threads used to perform IO.ServerLimitsConfig
limits
Server limits configurationint
port
The HTTP portProxyConfig
proxy
Duration
readTimeout
Http connection read timeout for blocking IO.boolean
recordRequestStartTime
If this is true then the request start time will be recorded to enable logging of total request time.Map<String,SameSiteCookieConfig>
sameSiteCookie
Configuration that allows setting the same site attributes for cookies.boolean
soReusePort
Enable socket reuse port (linux/macOs native transport only)ServerSslConfig
ssl
The SSL configint
sslPort
The HTTPS portboolean
tcpCork
Enable tcp cork (linux native transport only)boolean
tcpFastOpen
Enable tcp fast open (linux native transport only)boolean
tcpQuickAck
Enable tcp quick ack (linux native transport only)int
testPort
The HTTP port used to run testsint
testSslPort
The HTTPS port used to run testsOptional<HttpConfiguration.PayloadHint>
unhandledErrorContentTypeDefault
Provides a hint (optional) for the default content type of responses generated for the errors not handled by the application.
-
Constructor Summary
Constructors Constructor Description HttpConfiguration()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
determinePort(LaunchMode launchMode)
int
determineSslPort(LaunchMode launchMode)
-
-
-
Field Detail
-
corsEnabled
@ConfigItem(name="cors") public boolean corsEnabled
Enable the CORS filter.
-
port
@ConfigItem(defaultValue="8080") public int port
The HTTP port
-
testPort
@ConfigItem(defaultValue="8081") public int testPort
The HTTP port used to run tests
-
host
@ConfigItem public String host
The HTTP host In dev/test mode this defaults to localhost, in prod mode this defaults to 0.0.0.0 Defaulting to 0.0.0.0 makes it easier to deploy Quarkus to container, however it is not suitable for dev/test mode as other people on the network can connect to your development machine.
-
hostEnabled
@ConfigItem(defaultValue="true") public boolean hostEnabled
Enable listening to host:port
-
sslPort
@ConfigItem(defaultValue="8443") public int sslPort
The HTTPS port
-
testSslPort
@ConfigItem(defaultValue="8444") public int testSslPort
The HTTPS port used to run tests
-
insecureRequests
@ConfigItem(defaultValue="enabled") public HttpConfiguration.InsecureRequests insecureRequests
If insecure (i.e. http rather than https) requests are allowed. If this isenabled
then http works as normal.redirect
will still open the http port, but all requests will be redirected to the HTTPS port.disabled
will prevent the HTTP port from opening at all.
-
http2
@ConfigItem(defaultValue="true") public boolean http2
If this is true (the default) then HTTP/2 will be enabled. Note that for browsers to be able to use it HTTPS must be enabled, and you must be running on JDK11 or above, as JDK8 does not support ALPN.
-
cors
public CORSConfig cors
The CORS config
-
ssl
public ServerSslConfig ssl
The SSL config
-
handle100ContinueAutomatically
@ConfigItem(defaultValue="false", name="handle-100-continue-automatically") public boolean handle100ContinueAutomatically
When set totrue
, the HTTP server automatically sends `100 CONTINUE` response when the request expects it (with the `Expect: 100-Continue` header).
-
ioThreads
@ConfigItem public OptionalInt ioThreads
The number if IO threads used to perform IO. This will be automatically set to a reasonable value based on the number of CPU cores if it is not provided. If this is set to a higher value than the number of Vert.x event loops then it will be capped at the number of event loops. In general this should be controlled by setting quarkus.vertx.event-loops-pool-size, this setting should only be used if you want to limit the number of HTTP io threads to a smaller number than the total number of IO threads.
-
limits
public ServerLimitsConfig limits
Server limits configuration
-
idleTimeout
@ConfigItem(defaultValue="30M", name="idle-timeout") public Duration idleTimeout
Http connection idle timeout
-
readTimeout
@ConfigItem(defaultValue="60s", name="read-timeout") public Duration readTimeout
Http connection read timeout for blocking IO. This is the maximum amount of time a thread will wait for data, before an IOException will be thrown and the connection closed.
-
body
public BodyConfig body
Request body related settings
-
encryptionKey
@ConfigItem(name="auth.session.encryption-key") public Optional<String> encryptionKey
The encryption key that is used to store persistent logins (e.g. for form auth). Logins are stored in a persistent cookie that is encrypted with AES-256 using a key derived from a SHA-256 hash of the key that is provided here. If no key is provided then an in-memory one will be generated, this will change on every restart though so it is not suitable for production environments. This must be more than 16 characters long for security reasons
-
soReusePort
@ConfigItem public boolean soReusePort
Enable socket reuse port (linux/macOs native transport only)
-
tcpQuickAck
@ConfigItem public boolean tcpQuickAck
Enable tcp quick ack (linux native transport only)
-
tcpCork
@ConfigItem public boolean tcpCork
Enable tcp cork (linux native transport only)
-
tcpFastOpen
@ConfigItem public boolean tcpFastOpen
Enable tcp fast open (linux native transport only)
-
acceptBacklog
@ConfigItem(defaultValue="-1") public int acceptBacklog
The accept backlog, this is how many connections can be waiting to be accepted before connections start being rejected
-
domainSocket
@ConfigItem(defaultValue="/var/run/io.quarkus.app.socket") public String domainSocket
Path to a unix domain socket
-
domainSocketEnabled
@ConfigItem public boolean domainSocketEnabled
Enable listening to host:port
-
recordRequestStartTime
@ConfigItem public boolean recordRequestStartTime
If this is true then the request start time will be recorded to enable logging of total request time. This has a small performance penalty, so is disabled by default.
-
accessLog
AccessLogConfig accessLog
-
sameSiteCookie
@ConfigItem public Map<String,SameSiteCookieConfig> sameSiteCookie
Configuration that allows setting the same site attributes for cookies.
-
unhandledErrorContentTypeDefault
@ConfigItem public Optional<HttpConfiguration.PayloadHint> unhandledErrorContentTypeDefault
Provides a hint (optional) for the default content type of responses generated for the errors not handled by the application.If the client requested a supported content-type in request headers (e.g. "Accept: application/json", "Accept: text/html"), Quarkus will use that content type.
Otherwise, it will default to the content type configured here.
-
header
@ConfigItem public Map<String,HeaderConfig> header
Additional HTTP Headers always sent in the response
-
filter
@ConfigItem public Map<String,FilterConfig> filter
Additional HTTP configuration per path
-
proxy
public ProxyConfig proxy
-
-
Method Detail
-
determinePort
public int determinePort(LaunchMode launchMode)
-
determineSslPort
public int determineSslPort(LaunchMode launchMode)
-
-