diff --git a/_generated-doc/main/config/all-configuration-roots-generated-doc/io.quarkus.vertx.http.runtime.HttpBuildTimeConfig b/_generated-doc/main/config/all-configuration-roots-generated-doc/io.quarkus.vertx.http.runtime.HttpBuildTimeConfig index a5e1357076..8fe8f0b9e1 100644 --- a/_generated-doc/main/config/all-configuration-roots-generated-doc/io.quarkus.vertx.http.runtime.HttpBuildTimeConfig +++ b/_generated-doc/main/config/all-configuration-roots-generated-doc/io.quarkus.vertx.http.runtime.HttpBuildTimeConfig @@ -1 +1 @@ -[{"configDocKey":{"type":"string","key":"quarkus.http.root-path","additionalKeys":[],"configDoc":"The HTTP root path. All web content will be served relative to this root path.","withinAMap":false,"defaultValue":"/","javaDocSiteLink":"","docMapKey":"root-path","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Boolean","key":"quarkus.http.auth.basic","additionalKeys":[],"configDoc":"If basic auth should be enabled. If both basic and form auth is enabled then basic auth will be enabled in silent mode. If no authentication mechanisms are configured basic auth is the default.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"basic","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.auth.form.enabled","additionalKeys":[],"configDoc":"If form authentication is enabled.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"enabled","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.form.post-location","additionalKeys":[],"configDoc":"The post location.","withinAMap":false,"defaultValue":"/j_security_check","javaDocSiteLink":"","docMapKey":"post-location","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.auth.proactive","additionalKeys":[],"configDoc":"If this is true and credentials are present then a user will always be authenticated before the request progresses. If this is false then an attempt will only be made to authenticate the user if a permission check is performed or the current user is required for some other reason.","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"proactive","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.vertx.core.http.ClientAuth","key":"quarkus.http.ssl.client-auth","additionalKeys":[],"configDoc":"Configures the engine to require/request client authentication. NONE, REQUEST, REQUIRED","withinAMap":false,"defaultValue":"none","javaDocSiteLink":"https://vertx.io/docs/apidocs/io/vertx/core/http/ClientAuth.html","docMapKey":"tls-client-auth","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":["`none`","`request`","`required`"],"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":true}},{"configDocKey":{"type":"boolean","key":"quarkus.http.virtual","additionalKeys":[],"configDoc":"If this is true then only a virtual channel will be set up for vertx web. We have this switch for testing purposes.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"virtual","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.non-application-root-path","additionalKeys":[],"configDoc":"A common root path for non-application endpoints. Various extension-provided endpoints such as metrics, health,\nand openapi are deployed under this path by default.\n\n* Relative path (Default, `q`) ->\nNon-application endpoints will be served from\n`${quarkus.http.root-path}/${quarkus.http.non-application-root-path}`.\n* Absolute path (`/q`) ->\nNon-application endpoints will be served from the specified path.\n* `${quarkus.http.root-path}` -> Setting this path to the same value as HTTP root path disables\nthis root path. All extension-provided endpoints will be served from `${quarkus.http.root-path}`.\n\nIf the management interface is enabled, the root path for the endpoints exposed on the management interface\nis configured using the `quarkus.management.root-path` property instead of this property.","withinAMap":false,"defaultValue":"q","javaDocSiteLink":"","docMapKey":"non-application-root-path","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.test-timeout","additionalKeys":[],"configDoc":"The REST Assured client timeout for testing.","withinAMap":false,"defaultValue":"30S","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"test-timeout","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.enable-compression","additionalKeys":[],"configDoc":"If enabled then the response body is compressed if the `Content-Type` header is set and the value is a compressed media type as configured via `compress-media-types`. Note that the RESTEasy Reactive and Reactive Routes extensions also make it possible to enable/disable compression declaratively using the annotations `io.quarkus.vertx.http.Compressed` and `io.quarkus.vertx.http.Uncompressed`.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"enable-compression","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.enable-decompression","additionalKeys":[],"configDoc":"When enabled, vert.x will decompress the request's body if it's compressed. Note that the compression format (e.g., gzip) must be specified in the Content-Encoding header in the request.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"enable-decompression","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.compress-media-types","additionalKeys":[],"configDoc":"List of media types for which the compression should be enabled automatically, unless declared explicitly via `Compressed` or `Uncompressed`.","withinAMap":false,"defaultValue":"text/html,text/plain,text/xml,text/css,text/javascript,application/javascript,application/graphql+json","javaDocSiteLink":"","docMapKey":"compress-media-types","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Integer","key":"quarkus.http.compression-level","additionalKeys":[],"configDoc":"The compression level used when compression support is enabled.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"compression-level","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}}] \ No newline at end of file +[{"configDocKey":{"type":"string","key":"quarkus.http.root-path","additionalKeys":[],"configDoc":"The HTTP root path. All web content will be served relative to this root path.","withinAMap":false,"defaultValue":"/","javaDocSiteLink":"","docMapKey":"root-path","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Boolean","key":"quarkus.http.auth.basic","additionalKeys":[],"configDoc":"If basic auth should be enabled. If both basic and form auth is enabled then basic auth will be enabled in silent mode. If no authentication mechanisms are configured basic auth is the default.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"basic","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.auth.form.enabled","additionalKeys":[],"configDoc":"If form authentication is enabled.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"enabled","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.form.post-location","additionalKeys":[],"configDoc":"The post location.","withinAMap":false,"defaultValue":"/j_security_check","javaDocSiteLink":"","docMapKey":"post-location","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.auth.proactive","additionalKeys":[],"configDoc":"If this is true and credentials are present then a user will always be authenticated before the request progresses. If this is false then an attempt will only be made to authenticate the user if a permission check is performed or the current user is required for some other reason.","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"proactive","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.vertx.core.http.ClientAuth","key":"quarkus.http.ssl.client-auth","additionalKeys":[],"configDoc":"Configures the engine to require/request client authentication. `NONE, REQUEST, REQUIRED`.\n\nWhen set to `REQUIRED`, it's recommended to also set `quarkus.http.insecure-requests=disabled` to disable the plain HTTP port. If `quarkus.http.insecure-requests` is not set, but this parameter is set to `REQUIRED`, then, `quarkus.http.insecure-requests` is automatically set to `disabled`.","withinAMap":false,"defaultValue":"none","javaDocSiteLink":"https://vertx.io/docs/apidocs/io/vertx/core/http/ClientAuth.html","docMapKey":"tls-client-auth","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":["`none`","`request`","`required`"],"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":true}},{"configDocKey":{"type":"boolean","key":"quarkus.http.virtual","additionalKeys":[],"configDoc":"If this is true then only a virtual channel will be set up for vertx web. We have this switch for testing purposes.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"virtual","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.non-application-root-path","additionalKeys":[],"configDoc":"A common root path for non-application endpoints. Various extension-provided endpoints such as metrics, health,\nand openapi are deployed under this path by default.\n

\n* Relative path (Default, `q`) ->\nNon-application endpoints will be served from\n`${quarkus.http.root-path}/${quarkus.http.non-application-root-path}`.\n* Absolute path (`/q`) ->\nNon-application endpoints will be served from the specified path.\n* `${quarkus.http.root-path}` -> Setting this path to the same value as HTTP root path disables\nthis root path. All extension-provided endpoints will be served from `${quarkus.http.root-path}`.\n

\nIf the management interface is enabled, the root path for the endpoints exposed on the management interface\nis configured using the `quarkus.management.root-path` property instead of this property.","withinAMap":false,"defaultValue":"q","javaDocSiteLink":"","docMapKey":"non-application-root-path","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.test-timeout","additionalKeys":[],"configDoc":"The REST Assured client timeout for testing.","withinAMap":false,"defaultValue":"30S","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"test-timeout","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.enable-compression","additionalKeys":[],"configDoc":"If enabled then the response body is compressed if the `Content-Type` header is set and the value is a compressed media type as configured via `compress-media-types`.\n\nNote that the RESTEasy Reactive and Reactive Routes extensions also make it possible to enable/disable compression declaratively using the annotations `io.quarkus.vertx.http.Compressed` and `io.quarkus.vertx.http.Uncompressed`.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"enable-compression","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.enable-decompression","additionalKeys":[],"configDoc":"When enabled, vert.x will decompress the request's body if it's compressed.\n\nNote that the compression format (e.g., gzip) must be specified in the Content-Encoding header in the request.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"enable-decompression","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.compress-media-types","additionalKeys":[],"configDoc":"List of media types for which the compression should be enabled automatically, unless declared explicitly via `Compressed` or `Uncompressed`.","withinAMap":false,"defaultValue":"text/html,text/plain,text/xml,text/css,text/javascript,application/javascript,application/graphql+json","javaDocSiteLink":"","docMapKey":"compress-media-types","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Integer","key":"quarkus.http.compression-level","additionalKeys":[],"configDoc":"The compression level used when compression support is enabled.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"compression-level","configPhase":"BUILD_AND_RUN_TIME_FIXED","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}}] \ No newline at end of file diff --git a/_generated-doc/main/config/all-configuration-roots-generated-doc/io.quarkus.vertx.http.runtime.HttpConfiguration b/_generated-doc/main/config/all-configuration-roots-generated-doc/io.quarkus.vertx.http.runtime.HttpConfiguration index 7f4d87ad4a..5b60268730 100644 --- a/_generated-doc/main/config/all-configuration-roots-generated-doc/io.quarkus.vertx.http.runtime.HttpConfiguration +++ b/_generated-doc/main/config/all-configuration-roots-generated-doc/io.quarkus.vertx.http.runtime.HttpConfiguration @@ -1 +1 @@ -[{"configDocKey":{"type":"java.lang.Boolean","key":"quarkus.http.auth.permission.\"permissions\".enabled","additionalKeys":[],"configDoc":"Determines whether the entire permission set is enabled, or not. By default, if the permission set is defined, it is enabled.","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"enabled","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.permission.\"permissions\".policy","additionalKeys":[],"configDoc":"The HTTP policy that this permission set is linked to. There are three built-in policies: permit, deny and authenticated. Role based policies can be defined, and extensions can add their own policies.","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"policy","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.permission.\"permissions\".methods","additionalKeys":[],"configDoc":"The methods that this permission set applies to. If this is not set then they apply to all methods. Note that if a request matches any path from any permission set, but does not match the constraint due to the method not being listed then the request will be denied. Method specific permissions take precedence over matches that do not have any methods set. This means that for example if Quarkus is configured to allow GET and POST requests to /admin to and no other permissions are configured PUT requests to /admin will be denied.","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"methods","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.permission.\"permissions\".paths","additionalKeys":[],"configDoc":"The paths that this permission check applies to. If the path ends in /++*++ then this is treated as a path prefix, otherwise it is treated as an exact match. Matches are done on a length basis, so the most specific path match takes precedence. If multiple permission sets match the same path then explicit methods matches take precedence over matches without methods set, otherwise the most restrictive permissions are applied.","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"paths","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.permission.\"permissions\".auth-mechanism","additionalKeys":[],"configDoc":"Path specific authentication mechanism which must be used to authenticate a user. It needs to match `HttpCredentialTransport` authentication scheme such as 'basic', 'bearer', 'form', etc.","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"auth-mechanism","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.policy.\"role-policy\".roles-allowed","additionalKeys":[],"configDoc":"The roles that are allowed to access resources protected by this policy. By default, access is allowed to any authenticated user.","withinAMap":true,"defaultValue":"**","javaDocSiteLink":"","docMapKey":"roles-allowed","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"`Map>`","key":"quarkus.http.auth.policy.\"role-policy\".roles","additionalKeys":[],"configDoc":"Add roles granted to the `SecurityIdentity` based on the roles that the `SecurityIdentity` already have. For example, the Quarkus OIDC extension can map roles from the verified JWT access token, and you may want to remap them to a deployment specific roles.","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"role1","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":true,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"`Map>`","key":"quarkus.http.auth.policy.\"role-policy\".permissions","additionalKeys":[],"configDoc":"Permissions granted to the `SecurityIdentity` if this policy is applied successfully (the policy allows request to proceed) and the authenticated request has required role. For example, you can map permission `perm1` with actions `action1` and `action2` to role `admin` by setting `quarkus.http.auth.policy.role-policy1.permissions.admin=perm1:action1,perm1:action2` configuration property. Granted permissions are used for authorization with the `@PermissionsAllowed` annotation.","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"role1","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":true,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.policy.\"role-policy\".permission-class","additionalKeys":[],"configDoc":"Permissions granted by this policy will be created with a `java.security.Permission` implementation specified by this configuration property. The permission class must declare exactly one constructor that accepts permission name (`String`) or permission name and actions (`String`, `String++[]++`). Permission class must be registered for reflection if you run your application in a native mode.","withinAMap":true,"defaultValue":"io.quarkus.security.StringPermission","javaDocSiteLink":"","docMapKey":"permission-class","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"path","key":"quarkus.http.auth.certificate-role-properties","additionalKeys":[],"configDoc":"Properties file containing the client certificate common name (CN) to role mappings. Use it only if the mTLS authentication mechanism is enabled with either `quarkus.http.ssl.client-auth=required` or `quarkus.http.ssl.client-auth=request`.\n\nProperties file is expected to have the `CN=role1,role,...,roleN` format and should be encoded using UTF-8.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"certificate-role-properties","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.realm","additionalKeys":[],"configDoc":"The authentication realm","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"realm","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.form.login-page","additionalKeys":[],"configDoc":"The login page. Redirect to login page can be disabled by setting `quarkus.http.auth.form.login-page=`.","withinAMap":false,"defaultValue":"/login.html","javaDocSiteLink":"","docMapKey":"login-page","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.form.username-parameter","additionalKeys":[],"configDoc":"The username field name.","withinAMap":false,"defaultValue":"j_username","javaDocSiteLink":"","docMapKey":"username-parameter","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.form.password-parameter","additionalKeys":[],"configDoc":"The password field name.","withinAMap":false,"defaultValue":"j_password","javaDocSiteLink":"","docMapKey":"password-parameter","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.form.error-page","additionalKeys":[],"configDoc":"The error page. Redirect to error page can be disabled by setting `quarkus.http.auth.form.error-page=`.","withinAMap":false,"defaultValue":"/error.html","javaDocSiteLink":"","docMapKey":"error-page","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.form.landing-page","additionalKeys":[],"configDoc":"The landing page to redirect to if there is no saved page to redirect back to. Redirect to landing page can be disabled by setting `quarkus.http.auth.form.landing-page=`.","withinAMap":false,"defaultValue":"/index.html","javaDocSiteLink":"","docMapKey":"landing-page","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.form.location-cookie","additionalKeys":[],"configDoc":"Option to control the name of the cookie used to redirect the user back to the location they want to access.","withinAMap":false,"defaultValue":"quarkus-redirect-location","javaDocSiteLink":"","docMapKey":"location-cookie","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.auth.form.timeout","additionalKeys":[],"configDoc":"The inactivity (idle) timeout When inactivity timeout is reached, cookie is not renewed and a new login is enforced.","withinAMap":false,"defaultValue":"PT30M","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"timeout","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.auth.form.new-cookie-interval","additionalKeys":[],"configDoc":"How old a cookie can get before it will be replaced with a new cookie with an updated timeout, also referred to as \"renewal-timeout\". Note that smaller values will result in slightly more server load (as new encrypted cookies will be generated more often); however, larger values affect the inactivity timeout because the timeout is set when a cookie is generated. For example if this is set to 10 minutes, and the inactivity timeout is 30m, if a user's last request is when the cookie is 9m old then the actual timeout will happen 21m after the last request because the timeout is only refreshed when a new cookie is generated. That is, no timeout is tracked on the server side; the timestamp is encoded and encrypted in the cookie itself, and it is decrypted and parsed with each request.","withinAMap":false,"defaultValue":"PT1M","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"new-cookie-interval","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.form.cookie-name","additionalKeys":[],"configDoc":"The cookie that is used to store the persistent session","withinAMap":false,"defaultValue":"quarkus-credential","javaDocSiteLink":"","docMapKey":"cookie-name","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.form.cookie-path","additionalKeys":[],"configDoc":"The cookie path for the session and location cookies.","withinAMap":false,"defaultValue":"/","javaDocSiteLink":"","docMapKey":"cookie-path","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.auth.form.http-only-cookie","additionalKeys":[],"configDoc":"Set the HttpOnly attribute to prevent access to the cookie via JavaScript.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"http-only-cookie","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.vertx.http.runtime.FormAuthRuntimeConfig.CookieSameSite","key":"quarkus.http.auth.form.cookie-same-site","additionalKeys":[],"configDoc":"SameSite attribute for the session and location cookies.","withinAMap":false,"defaultValue":"strict","javaDocSiteLink":"","docMapKey":"cookie-same-site","configPhase":"RUN_TIME","acceptedValues":["`strict`","`lax`","`none`"],"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":true}},{"configDocKey":{"type":"boolean","key":"quarkus.http.cors","additionalKeys":[],"configDoc":"Enable the CORS filter.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"cors-enabled","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"int","key":"quarkus.http.port","additionalKeys":[],"configDoc":"The HTTP port","withinAMap":false,"defaultValue":"8080","javaDocSiteLink":"","docMapKey":"port","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"int","key":"quarkus.http.test-port","additionalKeys":[],"configDoc":"The HTTP port used to run tests","withinAMap":false,"defaultValue":"8081","javaDocSiteLink":"","docMapKey":"test-port","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.host","additionalKeys":[],"configDoc":"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.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"host","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.test-host","additionalKeys":[],"configDoc":"Used when `QuarkusIntegrationTest` is meant to execute against an application that is already running and listening on the host specified by this property.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"test-host","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.host-enabled","additionalKeys":[],"configDoc":"Enable listening to host:port","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"host-enabled","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"int","key":"quarkus.http.ssl-port","additionalKeys":[],"configDoc":"The HTTPS port","withinAMap":false,"defaultValue":"8443","javaDocSiteLink":"","docMapKey":"ssl-port","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"int","key":"quarkus.http.test-ssl-port","additionalKeys":[],"configDoc":"The HTTPS port used to run tests","withinAMap":false,"defaultValue":"8444","javaDocSiteLink":"","docMapKey":"test-ssl-port","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Boolean","key":"quarkus.http.test-ssl-enabled","additionalKeys":[],"configDoc":"Used when `QuarkusIntegrationTest` is meant to execute against an application that is already running to configure the test to use SSL.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"test-ssl-enabled","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.vertx.http.runtime.HttpConfiguration.InsecureRequests","key":"quarkus.http.insecure-requests","additionalKeys":[],"configDoc":"If insecure (i.e. http rather than https) requests are allowed. If this is `enabled` 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.","withinAMap":false,"defaultValue":"enabled","javaDocSiteLink":"","docMapKey":"insecure-requests","configPhase":"RUN_TIME","acceptedValues":["`enabled`","`redirect`","`disabled`"],"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":true}},{"configDocKey":{"type":"boolean","key":"quarkus.http.http2","additionalKeys":[],"configDoc":"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.","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"http2","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.http2-push-enabled","additionalKeys":[],"configDoc":"Enables or Disable the HTTP/2 Push feature. This setting can be used to disable server push. The server will not send a `PUSH_PROMISE` frame if it receives this parameter set to @++{++code false++}++.","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"http2-push-enabled","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.cors.origins","additionalKeys":[],"configDoc":"Origins allowed for CORS Comma separated list of valid URLs, e.g.: http://www.quarkus.io,http://localhost:3000 In case an entry of the list is surrounded by forward slashes, it is interpreted as a regular expression.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"origins","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.cors.methods","additionalKeys":[],"configDoc":"HTTP methods allowed for CORS Comma separated list of valid methods. ex: GET,PUT,POST The filter allows any method if this is not set. default: returns any requested method as valid","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"methods","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.cors.headers","additionalKeys":[],"configDoc":"HTTP headers allowed for CORS Comma separated list of valid headers. ex: X-Custom,Content-Disposition The filter allows any header if this is not set. default: returns any requested header as valid","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"headers","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.cors.exposed-headers","additionalKeys":[],"configDoc":"HTTP headers exposed in CORS Comma separated list of valid headers. ex: X-Custom,Content-Disposition default: empty","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"exposed-headers","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.cors.access-control-max-age","additionalKeys":[],"configDoc":"The `Access-Control-Max-Age` response header value indicating how long the results of a pre-flight request can be cached.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"access-control-max-age","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Boolean","key":"quarkus.http.cors.access-control-allow-credentials","additionalKeys":[],"configDoc":"The `Access-Control-Allow-Credentials` header is used to tell the browsers to expose the response to front-end JavaScript code when the request’s credentials mode Request.credentials is “include”. The value of this header will default to `true` if `quarkus.http.cors.origins` property is set and there is a match with the precise `Origin` header.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"access-control-allow-credentials","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.credentials-provider","additionalKeys":[],"configDoc":"The `CredentialsProvider`. If this property is configured, then a matching 'CredentialsProvider' will be used to get the keystore, keystore key, and truststore passwords unless these passwords have already been configured. Please note that using MicroProfile `ConfigSource` which is directly supported by Quarkus Configuration should be preferred unless using `CredentialsProvider` provides for some additional security and dynamism.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"credentials-provider","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.credentials-provider-name","additionalKeys":[],"configDoc":"The credentials provider bean name.\n\nThis is a bean name (as in `@Named`) of a bean that implements `CredentialsProvider`. It is used to select the credentials provider bean when multiple exist. This is unnecessary when there is only one credentials provider available.\n\nFor Vault, the credentials provider bean name is `vault-credentials-provider`.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"credentials-provider-name","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"path","key":"quarkus.http.ssl.certificate.files","additionalKeys":[],"configDoc":"The list of path to server certificates using the PEM format. Specifying multiple files requires SNI to be enabled.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"files","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"path","key":"quarkus.http.ssl.certificate.key-files","additionalKeys":[],"configDoc":"The list of path to server certificates private key files using the PEM format. Specifying multiple files requires SNI to be enabled. The order of the key files must match the order of the certificates.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"key-files","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"path","key":"quarkus.http.ssl.certificate.key-store-file","additionalKeys":[],"configDoc":"An optional key store that holds the certificate information instead of specifying separate files.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"key-store-file","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.key-store-file-type","additionalKeys":[],"configDoc":"An optional parameter to specify the type of the key store file. If not given, the type is automatically detected based on the file name.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"key-store-file-type","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.key-store-provider","additionalKeys":[],"configDoc":"An optional parameter to specify a provider of the key store file. If not given, the provider is automatically detected based on the key store file type.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"key-store-provider","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.key-store-password","additionalKeys":[],"configDoc":"A parameter to specify the password of the key store file. If not given, and if it can not be retrieved from `CredentialsProvider`.","withinAMap":false,"defaultValue":"password","javaDocSiteLink":"","docMapKey":"key-store-password","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.key-store-password-key","additionalKeys":[],"configDoc":"A parameter to specify a `CredentialsProvider` property key, which can be used to get the password of the key store file from `CredentialsProvider`.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"key-store-password-key","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.key-store-key-alias","additionalKeys":[],"configDoc":"An optional parameter to select a specific key in the key store. When SNI is disabled, and the key store contains multiple keys and no alias is specified; the behavior is undefined.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"key-store-key-alias","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.key-store-key-password","additionalKeys":[],"configDoc":"An optional parameter to define the password for the key, in case it is different from `key-store-password` If not given, it might be retrieved from `CredentialsProvider`.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"key-store-key-password","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.key-store-key-password-key","additionalKeys":[],"configDoc":"A parameter to specify a `CredentialsProvider` property key, which can be used to get the password for the key from `CredentialsProvider`.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"key-store-key-password-key","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"path","key":"quarkus.http.ssl.certificate.trust-store-file","additionalKeys":[],"configDoc":"An optional trust store that holds the certificate information of the trusted certificates.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"trust-store-file","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.trust-store-file-type","additionalKeys":[],"configDoc":"An optional parameter to specify the type of the trust store file. If not given, the type is automatically detected based on the file name.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"trust-store-file-type","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.trust-store-provider","additionalKeys":[],"configDoc":"An optional parameter to specify a provider of the trust store file. If not given, the provider is automatically detected based on the trust store file type.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"trust-store-provider","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.trust-store-password","additionalKeys":[],"configDoc":"A parameter to specify the password of the trust store file. If not given, it might be retrieved from `CredentialsProvider`.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"trust-store-password","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.trust-store-password-key","additionalKeys":[],"configDoc":"A parameter to specify a `CredentialsProvider` property key, which can be used to get the password of the trust store file from `CredentialsProvider`.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"trust-store-password-key","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.trust-store-cert-alias","additionalKeys":[],"configDoc":"An optional parameter to trust a single certificate from the trust store rather than trusting all certificates in the store.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"trust-store-cert-alias","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.cipher-suites","additionalKeys":[],"configDoc":"The cipher suites to use. If none is given, a reasonable default is selected.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"cipher-suites","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.protocols","additionalKeys":[],"configDoc":"Sets the ordered list of enabled SSL/TLS protocols.\n\nIf not set, it defaults to `\"TLSv1.3, TLSv1.2\"`. The following list of protocols are supported: `TLSv1, TLSv1.1, TLSv1.2, TLSv1.3`. To only enable `TLSv1.3`, set the value to `to \"TLSv1.3\"`.\n\nNote that setting an empty list, and enabling SSL/TLS is invalid. You must at least have one protocol.","withinAMap":false,"defaultValue":"TLSv1.3,TLSv1.2","javaDocSiteLink":"","docMapKey":"protocols","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.ssl.sni","additionalKeys":[],"configDoc":"Enables Server Name Indication (SNI), an TLS extension allowing the server to use multiple certificates. The client indicate the server name during the TLS handshake, allowing the server to select the right certificate.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"sni","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.static-resources.index-page","additionalKeys":[],"configDoc":"Set the index page when serving static resources.","withinAMap":false,"defaultValue":"index.html","javaDocSiteLink":"","docMapKey":"index-page","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.static-resources.include-hidden","additionalKeys":[],"configDoc":"Set whether hidden files should be served.","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"include-hidden","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.static-resources.enable-range-support","additionalKeys":[],"configDoc":"Set whether range requests (resumable downloads; media streaming) should be enabled.","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"enable-range-support","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.static-resources.caching-enabled","additionalKeys":[],"configDoc":"Set whether cache handling is enabled.","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"caching-enabled","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.static-resources.cache-entry-timeout","additionalKeys":[],"configDoc":"Set the cache entry timeout. The default is `30` seconds.","withinAMap":false,"defaultValue":"30S","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"cache-entry-timeout","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.static-resources.max-age","additionalKeys":[],"configDoc":"Set value for max age in caching headers. The default is `24` hours.","withinAMap":false,"defaultValue":"24H","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"max-age","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"int","key":"quarkus.http.static-resources.max-cache-size","additionalKeys":[],"configDoc":"Set the max cache size.","withinAMap":false,"defaultValue":"10000","javaDocSiteLink":"","docMapKey":"max-cache-size","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.handle-100-continue-automatically","additionalKeys":[],"configDoc":"When set to `true`, the HTTP server automatically sends `100 CONTINUE` response when the request expects it (with the `Expect: 100-Continue` header).","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"handle100-continue-automatically","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Integer","key":"quarkus.http.io-threads","additionalKeys":[],"configDoc":"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.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"io-threads","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.runtime.configuration.MemorySize","key":"quarkus.http.limits.max-header-size","additionalKeys":[],"configDoc":"The maximum length of all headers.","withinAMap":false,"defaultValue":"20K","javaDocSiteLink":"","docMapKey":"max-header-size","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.runtime.configuration.MemorySize","key":"quarkus.http.limits.max-body-size","additionalKeys":[],"configDoc":"The maximum size of a request body.","withinAMap":false,"defaultValue":"10240K","javaDocSiteLink":"","docMapKey":"max-body-size","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.runtime.configuration.MemorySize","key":"quarkus.http.limits.max-chunk-size","additionalKeys":[],"configDoc":"The max HTTP chunk size","withinAMap":false,"defaultValue":"8192","javaDocSiteLink":"","docMapKey":"max-chunk-size","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"int","key":"quarkus.http.limits.max-initial-line-length","additionalKeys":[],"configDoc":"The maximum length of the initial line (e.g. `\"GET / HTTP/1.0\"`).","withinAMap":false,"defaultValue":"4096","javaDocSiteLink":"","docMapKey":"max-initial-line-length","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.runtime.configuration.MemorySize","key":"quarkus.http.limits.max-form-attribute-size","additionalKeys":[],"configDoc":"The maximum length of a form attribute.","withinAMap":false,"defaultValue":"2048","javaDocSiteLink":"","docMapKey":"max-form-attribute-size","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Integer","key":"quarkus.http.limits.max-connections","additionalKeys":[],"configDoc":"The maximum number of connections that are allowed at any one time. If this is set it is recommended to set a short idle timeout.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"max-connections","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Long","key":"quarkus.http.limits.header-table-size","additionalKeys":[],"configDoc":"Set the SETTINGS_HEADER_TABLE_SIZE HTTP/2 setting.\n\nAllows the sender to inform the remote endpoint of the maximum size of the header compression table used to decode header blocks, in octets. The encoder can select any size equal to or less than this value by using signaling specific to the header compression format inside a header block. The initial value is `4,096` octets.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"header-table-size","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Long","key":"quarkus.http.limits.max-concurrent-streams","additionalKeys":[],"configDoc":"Set SETTINGS_MAX_CONCURRENT_STREAMS HTTP/2 setting.\n\nIndicates the maximum number of concurrent streams that the sender will allow. This limit is directional: it applies to the number of streams that the sender permits the receiver to create. Initially, there is no limit to this value. It is recommended that this value be no smaller than 100, to not unnecessarily limit parallelism.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"max-concurrent-streams","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Integer","key":"quarkus.http.limits.max-frame-size","additionalKeys":[],"configDoc":"Set the SETTINGS_MAX_FRAME_SIZE HTTP/2 setting. Indicates the size of the largest frame payload that the sender is willing to receive, in octets. The initial value is `2^14` (16,384) octets.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"max-frame-size","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Long","key":"quarkus.http.limits.max-header-list-size","additionalKeys":[],"configDoc":"Set the SETTINGS_MAX_HEADER_LIST_SIZE HTTP/2 setting. This advisory setting informs a peer of the maximum size of header list that the sender is prepared to accept, in octets. The value is based on the uncompressed size of header fields, including the length of the name and value in octets plus an overhead of 32 octets for each header field. The default value is `8192`","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"max-header-list-size","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Integer","key":"quarkus.http.limits.rst-flood-max-rst-frame-per-window","additionalKeys":[],"configDoc":"Set the max number of RST frame allowed per time window, this is used to prevent link:https://github.com/netty/netty/security/advisories/GHSA-xpw8-rcwv-8f8p[HTTP/2 RST frame flood DDOS attacks]. The default value is `200`, setting zero or a negative value, disables flood protection.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"rst-flood-max-rst-frame-per-window","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.limits.rst-flood-window-duration","additionalKeys":[],"configDoc":"Set the duration of the time window when checking the max number of RST frames, this is used to prevent link:https://github.com/netty/netty/security/advisories/GHSA-xpw8-rcwv-8f8p[HTTP/2 RST frame flood DDOS attacks].. The default value is `30 s`, setting zero or a negative value, disables flood protection.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"rst-flood-window-duration","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.idle-timeout","additionalKeys":[],"configDoc":"Http connection idle timeout","withinAMap":false,"defaultValue":"30M","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"idle-timeout","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.read-timeout","additionalKeys":[],"configDoc":"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.","withinAMap":false,"defaultValue":"60S","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"read-timeout","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.body.handle-file-uploads","additionalKeys":[],"configDoc":"Whether the files sent using `multipart/form-data` will be stored locally.\n\nIf `true`, they will be stored in `quarkus.http.body-handler.uploads-directory` and will be made available via `io.vertx.ext.web.RoutingContext.fileUploads()`. Otherwise, the files sent using `multipart/form-data` will not be stored locally, and `io.vertx.ext.web.RoutingContext.fileUploads()` will always return an empty collection. Note that even with this option being set to `false`, the `multipart/form-data` requests will be accepted.","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"handle-file-uploads","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.body.uploads-directory","additionalKeys":[],"configDoc":"The directory where the files sent using `multipart/form-data` should be stored.\n\nEither an absolute path or a path relative to the current directory of the application process.","withinAMap":false,"defaultValue":"${java.io.tmpdir}/uploads","javaDocSiteLink":"","docMapKey":"uploads-directory","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.body.merge-form-attributes","additionalKeys":[],"configDoc":"Whether the form attributes should be added to the request parameters.\n\nIf `true`, the form attributes will be added to the request parameters; otherwise the form parameters will not be added to the request parameters","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"merge-form-attributes","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.body.delete-uploaded-files-on-end","additionalKeys":[],"configDoc":"Whether the uploaded files should be removed after serving the request.\n\nIf `true` the uploaded files stored in `quarkus.http.body-handler.uploads-directory` will be removed after handling the request. Otherwise, the files will be left there forever.","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"delete-uploaded-files-on-end","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.body.preallocate-body-buffer","additionalKeys":[],"configDoc":"Whether the body buffer should pre-allocated based on the `Content-Length` header value.\n\nIf `true` the body buffer is pre-allocated according to the size read from the `Content-Length` header. Otherwise, the body buffer is pre-allocated to 1KB, and is resized dynamically","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"preallocate-body-buffer","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.body.multipart.file-content-types","additionalKeys":[],"configDoc":"A comma-separated list of `ContentType` to indicate whether a given multipart field should be handled as a file part. You can use this setting to force HTTP-based extensions to parse a message part as a file based on its content type. For now, this setting only works when using RESTEasy Reactive.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"file-content-types","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.session.encryption-key","additionalKeys":[],"configDoc":"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","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"encryption-key","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.so-reuse-port","additionalKeys":[],"configDoc":"Enable socket reuse port (linux/macOs native transport only)","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"so-reuse-port","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.tcp-quick-ack","additionalKeys":[],"configDoc":"Enable tcp quick ack (linux native transport only)","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"tcp-quick-ack","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.tcp-cork","additionalKeys":[],"configDoc":"Enable tcp cork (linux native transport only)","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"tcp-cork","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.tcp-fast-open","additionalKeys":[],"configDoc":"Enable tcp fast open (linux native transport only)","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"tcp-fast-open","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"int","key":"quarkus.http.accept-backlog","additionalKeys":[],"configDoc":"The accept backlog, this is how many connections can be waiting to be accepted before connections start being rejected","withinAMap":false,"defaultValue":"-1","javaDocSiteLink":"","docMapKey":"accept-backlog","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Integer","key":"quarkus.http.initial-window-size","additionalKeys":[],"configDoc":"Set the SETTINGS_INITIAL_WINDOW_SIZE HTTP/2 setting. Indicates the sender's initial window size (in octets) for stream-level flow control. The initial value is `2^16-1` (65,535) octets.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"initial-window-size","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.domain-socket","additionalKeys":[],"configDoc":"Path to a unix domain socket","withinAMap":false,"defaultValue":"/var/run/io.quarkus.app.socket","javaDocSiteLink":"","docMapKey":"domain-socket","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.domain-socket-enabled","additionalKeys":[],"configDoc":"Enable listening to host:port","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"domain-socket-enabled","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.record-request-start-time","additionalKeys":[],"configDoc":"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.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"record-request-start-time","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.access-log.enabled","additionalKeys":[],"configDoc":"If access logging is enabled. By default this will log via the standard logging facility","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"enabled","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.access-log.exclude-pattern","additionalKeys":[],"configDoc":"A regular expression that can be used to exclude some paths from logging.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"exclude-pattern","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.access-log.pattern","additionalKeys":[],"configDoc":"The access log pattern.\n\nIf this is the string `common`, `combined` or `long` then this will use one of the specified named formats:\n\n- common: `%h %l %u %t \"%r\" %s %b`\n- combined: `%h %l %u %t \"%r\" %s %b \"%{i,Referer}\" \"%{i,User-Agent}\"`\n- long: `%r\\n%{ALL_REQUEST_HEADERS}`\n\nOtherwise, consult the Quarkus documentation for the full list of variables that can be used.","withinAMap":false,"defaultValue":"common","javaDocSiteLink":"","docMapKey":"pattern","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.access-log.log-to-file","additionalKeys":[],"configDoc":"If logging should be done to a separate file.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"log-to-file","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.access-log.base-file-name","additionalKeys":[],"configDoc":"The access log file base name, defaults to 'quarkus' which will give a log file name of 'quarkus.log'.","withinAMap":false,"defaultValue":"quarkus","javaDocSiteLink":"","docMapKey":"base-file-name","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.access-log.log-directory","additionalKeys":[],"configDoc":"The log directory to use when logging access to a file If this is not set then the current working directory is used.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"log-directory","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.access-log.log-suffix","additionalKeys":[],"configDoc":"The log file suffix","withinAMap":false,"defaultValue":".log","javaDocSiteLink":"","docMapKey":"log-suffix","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.access-log.category","additionalKeys":[],"configDoc":"The log category to use if logging is being done via the standard log mechanism (i.e. if base-file-name is empty).","withinAMap":false,"defaultValue":"io.quarkus.http.access-log","javaDocSiteLink":"","docMapKey":"category","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.access-log.rotate","additionalKeys":[],"configDoc":"If the log should be rotated daily","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"rotate","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.traffic-shaping.enabled","additionalKeys":[],"configDoc":"Enables the traffic shaping.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"enabled","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.runtime.configuration.MemorySize","key":"quarkus.http.traffic-shaping.inbound-global-bandwidth","additionalKeys":[],"configDoc":"Set bandwidth limit in bytes per second for inbound connections. If not set, no limits are applied.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"inbound-global-bandwidth","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.runtime.configuration.MemorySize","key":"quarkus.http.traffic-shaping.outbound-global-bandwidth","additionalKeys":[],"configDoc":"Set bandwidth limit in bytes per second for outbound connections. If not set, no limits are applied.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"outbound-global-bandwidth","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.traffic-shaping.max-delay","additionalKeys":[],"configDoc":"Set the maximum delay to wait in case of traffic excess. Default is 15s. Must be less than the HTTP timeout.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"max-delay","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.traffic-shaping.check-interval","additionalKeys":[],"configDoc":"Set the delay between two computations of performances for channels. If set to 0, no stats are computed. Despite 0 is accepted (no accounting), it is recommended to set a positive value for the check interval, even if it is high since the precision of the traffic shaping depends on the period where the traffic is computed. In this case, a suggested value is something close to 5 or 10 minutes.\n\nIf not default, it defaults to 1s.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"check-interval","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.runtime.configuration.MemorySize","key":"quarkus.http.traffic-shaping.peak-outbound-global-bandwidth","additionalKeys":[],"configDoc":"Set the maximum global write size in bytes per second allowed in the buffer globally for all channels before write are suspended. The default value is 400 MB.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"peak-outbound-global-bandwidth","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.same-site-cookie.\"same-site-cookie\".case-sensitive","additionalKeys":[],"configDoc":"If the cookie pattern is case-sensitive","withinAMap":true,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"case-sensitive","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.vertx.core.http.CookieSameSite","key":"quarkus.http.same-site-cookie.\"same-site-cookie\".value","additionalKeys":[],"configDoc":"The value to set in the samesite attribute","withinAMap":true,"defaultValue":"","javaDocSiteLink":"https://vertx.io/docs/apidocs/io/vertx/core/http/CookieSameSite.html","docMapKey":"value","configPhase":"RUN_TIME","acceptedValues":["`none`","`strict`","`lax`"],"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":true}},{"configDocKey":{"type":"boolean","key":"quarkus.http.same-site-cookie.\"same-site-cookie\".enable-client-checker","additionalKeys":[],"configDoc":"Some User Agents break when sent SameSite=None, this will detect them and avoid sending the value","withinAMap":true,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"enable-client-checker","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.same-site-cookie.\"same-site-cookie\".add-secure-for-none","additionalKeys":[],"configDoc":"If this is true then the 'secure' attribute will automatically be sent on cookies with a SameSite attribute of None.","withinAMap":true,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"add-secure-for-none","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.vertx.http.runtime.HttpConfiguration.PayloadHint","key":"quarkus.http.unhandled-error-content-type-default","additionalKeys":[],"configDoc":"Provides a hint (optional) for the default content type of responses generated for the errors not handled by the application.\n\nIf the client requested a supported content-type in request headers (e.g. \"Accept: application/json\", \"Accept: text/html\"), Quarkus will use that content type.\n\nOtherwise, it will default to the content type configured here.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"unhandled-error-content-type-default","configPhase":"RUN_TIME","acceptedValues":["`json`","`html`"],"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":true}},{"configDocKey":{"type":"string","key":"quarkus.http.header.\"header\".path","additionalKeys":[],"configDoc":"The path this header should be applied","withinAMap":true,"defaultValue":"/*","javaDocSiteLink":"","docMapKey":"path","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.header.\"header\".value","additionalKeys":[],"configDoc":"The value for this header configuration","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"value","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.header.\"header\".methods","additionalKeys":[],"configDoc":"The HTTP methods for this header configuration","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"methods","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.filter.\"filter\".matches","additionalKeys":[],"configDoc":"A regular expression for the paths matching this configuration","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"matches","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"`Map`","key":"quarkus.http.filter.\"filter\".header","additionalKeys":[],"configDoc":"Additional HTTP Headers always sent in the response","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"header","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":true,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.filter.\"filter\".methods","additionalKeys":[],"configDoc":"The HTTP methods for this path configuration","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"methods","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Integer","key":"quarkus.http.filter.\"filter\".order","additionalKeys":[],"configDoc":"","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"order","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.proxy.use-proxy-protocol","additionalKeys":[],"configDoc":"Set whether the server should use the HA `PROXY` protocol when serving requests from behind a proxy. (see the link:https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt[PROXY Protocol]). When set to `true`, the remote address returned will be the one from the actual connecting client. If it is set to `false` (default), the remote address returned will be the one from the proxy.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"use-proxy-protocol","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.proxy.proxy-address-forwarding","additionalKeys":[],"configDoc":"If this is true then the address, scheme etc. will be set from headers forwarded by the proxy server, such as `X-Forwarded-For`. This should only be set if you are behind a proxy that sets these headers.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"proxy-address-forwarding","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.proxy.allow-forwarded","additionalKeys":[],"configDoc":"If this is true and proxy address forwarding is enabled then the standard `Forwarded` header will be used. In case the not standard `X-Forwarded-For` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-x-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `X-Forwarded` or `X-Forwarded-++*++` headers from the client.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"allow-forwarded","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Boolean","key":"quarkus.http.proxy.allow-x-forwarded","additionalKeys":[],"configDoc":"If either this or `allow-forwarded` are true and proxy address forwarding is enabled then the not standard `Forwarded` header will be used. In case the standard `Forwarded` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `X-Forwarded` or `X-Forwarded-++*++` headers from the client.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"allow-x-forwarded","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.proxy.enable-forwarded-host","additionalKeys":[],"configDoc":"Enable override the received request's host through a forwarded host header.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"enable-forwarded-host","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.proxy.forwarded-host-header","additionalKeys":[],"configDoc":"Configure the forwarded host header to be used if override enabled.","withinAMap":false,"defaultValue":"X-Forwarded-Host","javaDocSiteLink":"","docMapKey":"forwarded-host-header","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.proxy.enable-forwarded-prefix","additionalKeys":[],"configDoc":"Enable prefix the received request's path with a forwarded prefix header.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"enable-forwarded-prefix","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.proxy.forwarded-prefix-header","additionalKeys":[],"configDoc":"Configure the forwarded prefix header to be used if prefixing enabled.","withinAMap":false,"defaultValue":"X-Forwarded-Prefix","javaDocSiteLink":"","docMapKey":"forwarded-prefix-header","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.vertx.http.runtime.TrustedProxyCheck.TrustedProxyCheckPart","key":"quarkus.http.proxy.trusted-proxies","additionalKeys":[],"configDoc":"Configure the list of trusted proxy addresses. Received `Forwarded`, `X-Forwarded` or `X-Forwarded-++*++` headers from any other proxy address will be ignored. The trusted proxy address should be specified as the IP address (IPv4 or IPv6), hostname or Classless Inter-Domain Routing (CIDR) notation. Please note that Quarkus needs to perform DNS lookup for all hostnames during the request. For that reason, using hostnames is not recommended.\n\nExamples of a socket address in the form of `host` or `host:port`:\n\n - `127.0.0.1:8084`\n - `++[++0:0:0:0:0:0:0:1++]++`\n - `++[++0:0:0:0:0:0:0:1++]++:8084`\n - `++[++::++]++`\n - `localhost`\n - `localhost:8084`\n\nExamples of a CIDR notation:\n\n - `::/128`\n - `::/0`\n - `127.0.0.0/8`\n\nPlease bear in mind that IPv4 CIDR won't match request sent from the IPv6 address and the other way around.","withinAMap":false,"defaultValue":"All proxy addresses are trusted","javaDocSiteLink":"","docMapKey":"trusted-proxies","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}}] \ No newline at end of file +[{"configDocKey":{"type":"java.lang.Boolean","key":"quarkus.http.auth.permission.\"permissions\".enabled","additionalKeys":[],"configDoc":"Determines whether the entire permission set is enabled, or not. By default, if the permission set is defined, it is enabled.","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"enabled","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.permission.\"permissions\".policy","additionalKeys":[],"configDoc":"The HTTP policy that this permission set is linked to. There are three built-in policies: permit, deny and authenticated. Role based policies can be defined, and extensions can add their own policies.","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"policy","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.permission.\"permissions\".methods","additionalKeys":[],"configDoc":"The methods that this permission set applies to. If this is not set then they apply to all methods. Note that if a request matches any path from any permission set, but does not match the constraint due to the method not being listed then the request will be denied. Method specific permissions take precedence over matches that do not have any methods set. This means that for example if Quarkus is configured to allow GET and POST requests to /admin to and no other permissions are configured PUT requests to /admin will be denied.","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"methods","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.permission.\"permissions\".paths","additionalKeys":[],"configDoc":"The paths that this permission check applies to. If the path ends in /++*++ then this is treated as a path prefix, otherwise it is treated as an exact match. Matches are done on a length basis, so the most specific path match takes precedence. If multiple permission sets match the same path then explicit methods matches take precedence over matches without methods set, otherwise the most restrictive permissions are applied.","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"paths","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.permission.\"permissions\".auth-mechanism","additionalKeys":[],"configDoc":"Path specific authentication mechanism which must be used to authenticate a user. It needs to match `HttpCredentialTransport` authentication scheme such as 'basic', 'bearer', 'form', etc.","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"auth-mechanism","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.policy.\"role-policy\".roles-allowed","additionalKeys":[],"configDoc":"The roles that are allowed to access resources protected by this policy. By default, access is allowed to any authenticated user.","withinAMap":true,"defaultValue":"**","javaDocSiteLink":"","docMapKey":"roles-allowed","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"`Map>`","key":"quarkus.http.auth.policy.\"role-policy\".roles","additionalKeys":[],"configDoc":"Add roles granted to the `SecurityIdentity` based on the roles that the `SecurityIdentity` already have. For example, the Quarkus OIDC extension can map roles from the verified JWT access token, and you may want to remap them to a deployment specific roles.","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"role1","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":true,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"`Map>`","key":"quarkus.http.auth.policy.\"role-policy\".permissions","additionalKeys":[],"configDoc":"Permissions granted to the `SecurityIdentity` if this policy is applied successfully (the policy allows request to proceed) and the authenticated request has required role. For example, you can map permission `perm1` with actions `action1` and `action2` to role `admin` by setting `quarkus.http.auth.policy.role-policy1.permissions.admin=perm1:action1,perm1:action2` configuration property. Granted permissions are used for authorization with the `@PermissionsAllowed` annotation.","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"role1","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":true,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.policy.\"role-policy\".permission-class","additionalKeys":[],"configDoc":"Permissions granted by this policy will be created with a `java.security.Permission` implementation specified by this configuration property. The permission class must declare exactly one constructor that accepts permission name (`String`) or permission name and actions (`String`, `String++[]++`). Permission class must be registered for reflection if you run your application in a native mode.","withinAMap":true,"defaultValue":"io.quarkus.security.StringPermission","javaDocSiteLink":"","docMapKey":"permission-class","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"path","key":"quarkus.http.auth.certificate-role-properties","additionalKeys":[],"configDoc":"Properties file containing the client certificate common name (CN) to role mappings. Use it only if the mTLS authentication mechanism is enabled with either `quarkus.http.ssl.client-auth=required` or `quarkus.http.ssl.client-auth=request`.\n\nProperties file is expected to have the `CN=role1,role,...,roleN` format and should be encoded using UTF-8.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"certificate-role-properties","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.realm","additionalKeys":[],"configDoc":"The authentication realm","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"realm","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.form.login-page","additionalKeys":[],"configDoc":"The login page. Redirect to login page can be disabled by setting `quarkus.http.auth.form.login-page=`.","withinAMap":false,"defaultValue":"/login.html","javaDocSiteLink":"","docMapKey":"login-page","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.form.username-parameter","additionalKeys":[],"configDoc":"The username field name.","withinAMap":false,"defaultValue":"j_username","javaDocSiteLink":"","docMapKey":"username-parameter","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.form.password-parameter","additionalKeys":[],"configDoc":"The password field name.","withinAMap":false,"defaultValue":"j_password","javaDocSiteLink":"","docMapKey":"password-parameter","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.form.error-page","additionalKeys":[],"configDoc":"The error page. Redirect to error page can be disabled by setting `quarkus.http.auth.form.error-page=`.","withinAMap":false,"defaultValue":"/error.html","javaDocSiteLink":"","docMapKey":"error-page","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.form.landing-page","additionalKeys":[],"configDoc":"The landing page to redirect to if there is no saved page to redirect back to. Redirect to landing page can be disabled by setting `quarkus.http.auth.form.landing-page=`.","withinAMap":false,"defaultValue":"/index.html","javaDocSiteLink":"","docMapKey":"landing-page","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.form.location-cookie","additionalKeys":[],"configDoc":"Option to control the name of the cookie used to redirect the user back to the location they want to access.","withinAMap":false,"defaultValue":"quarkus-redirect-location","javaDocSiteLink":"","docMapKey":"location-cookie","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.auth.form.timeout","additionalKeys":[],"configDoc":"The inactivity (idle) timeout When inactivity timeout is reached, cookie is not renewed and a new login is enforced.","withinAMap":false,"defaultValue":"PT30M","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"timeout","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.auth.form.new-cookie-interval","additionalKeys":[],"configDoc":"How old a cookie can get before it will be replaced with a new cookie with an updated timeout, also referred to as \"renewal-timeout\". Note that smaller values will result in slightly more server load (as new encrypted cookies will be generated more often); however, larger values affect the inactivity timeout because the timeout is set when a cookie is generated. For example if this is set to 10 minutes, and the inactivity timeout is 30m, if a user's last request is when the cookie is 9m old then the actual timeout will happen 21m after the last request because the timeout is only refreshed when a new cookie is generated. That is, no timeout is tracked on the server side; the timestamp is encoded and encrypted in the cookie itself, and it is decrypted and parsed with each request.","withinAMap":false,"defaultValue":"PT1M","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"new-cookie-interval","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.form.cookie-name","additionalKeys":[],"configDoc":"The cookie that is used to store the persistent session","withinAMap":false,"defaultValue":"quarkus-credential","javaDocSiteLink":"","docMapKey":"cookie-name","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.form.cookie-path","additionalKeys":[],"configDoc":"The cookie path for the session and location cookies.","withinAMap":false,"defaultValue":"/","javaDocSiteLink":"","docMapKey":"cookie-path","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.auth.form.http-only-cookie","additionalKeys":[],"configDoc":"Set the HttpOnly attribute to prevent access to the cookie via JavaScript.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"http-only-cookie","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.vertx.http.runtime.FormAuthRuntimeConfig.CookieSameSite","key":"quarkus.http.auth.form.cookie-same-site","additionalKeys":[],"configDoc":"SameSite attribute for the session and location cookies.","withinAMap":false,"defaultValue":"strict","javaDocSiteLink":"","docMapKey":"cookie-same-site","configPhase":"RUN_TIME","acceptedValues":["`strict`","`lax`","`none`"],"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":true}},{"configDocKey":{"type":"boolean","key":"quarkus.http.cors","additionalKeys":[],"configDoc":"Enable the CORS filter.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"cors-enabled","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"int","key":"quarkus.http.port","additionalKeys":[],"configDoc":"The HTTP port","withinAMap":false,"defaultValue":"8080","javaDocSiteLink":"","docMapKey":"port","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"int","key":"quarkus.http.test-port","additionalKeys":[],"configDoc":"The HTTP port used to run tests","withinAMap":false,"defaultValue":"8081","javaDocSiteLink":"","docMapKey":"test-port","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.host","additionalKeys":[],"configDoc":"The HTTP host\n\nIn dev/test mode this defaults to localhost, in prod mode this defaults to 0.0.0.0\n\nDefaulting 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.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"host","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.test-host","additionalKeys":[],"configDoc":"Used when `QuarkusIntegrationTest` is meant to execute against an application that is already running and listening on the host specified by this property.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"test-host","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.host-enabled","additionalKeys":[],"configDoc":"Enable listening to host:port","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"host-enabled","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"int","key":"quarkus.http.ssl-port","additionalKeys":[],"configDoc":"The HTTPS port","withinAMap":false,"defaultValue":"8443","javaDocSiteLink":"","docMapKey":"ssl-port","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"int","key":"quarkus.http.test-ssl-port","additionalKeys":[],"configDoc":"The HTTPS port used to run tests","withinAMap":false,"defaultValue":"8444","javaDocSiteLink":"","docMapKey":"test-ssl-port","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Boolean","key":"quarkus.http.test-ssl-enabled","additionalKeys":[],"configDoc":"Used when `QuarkusIntegrationTest` is meant to execute against an application that is already running to configure the test to use SSL.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"test-ssl-enabled","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.vertx.http.runtime.HttpConfiguration.InsecureRequests","key":"quarkus.http.insecure-requests","additionalKeys":[],"configDoc":"If insecure (i.e. http rather than https) requests are allowed. If this is `enabled` 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.\n\nDefault is `enabled` except when client auth is set to `required` (configured using `quarkus.http.ssl.client-auth=required`). In this case, the default is `disabled`.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"insecure-requests","configPhase":"RUN_TIME","acceptedValues":["`enabled`","`redirect`","`disabled`"],"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":true}},{"configDocKey":{"type":"boolean","key":"quarkus.http.http2","additionalKeys":[],"configDoc":"If this is true (the default) then HTTP/2 will be enabled.\n\nNote 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.","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"http2","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.http2-push-enabled","additionalKeys":[],"configDoc":"Enables or Disable the HTTP/2 Push feature. This setting can be used to disable server push. The server will not send a `PUSH_PROMISE` frame if it receives this parameter set to @++{++code false++}++.","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"http2-push-enabled","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.cors.origins","additionalKeys":[],"configDoc":"Origins allowed for CORS Comma separated list of valid URLs, e.g.: http://www.quarkus.io,http://localhost:3000 In case an entry of the list is surrounded by forward slashes, it is interpreted as a regular expression.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"origins","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.cors.methods","additionalKeys":[],"configDoc":"HTTP methods allowed for CORS Comma separated list of valid methods. ex: GET,PUT,POST The filter allows any method if this is not set. default: returns any requested method as valid","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"methods","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.cors.headers","additionalKeys":[],"configDoc":"HTTP headers allowed for CORS Comma separated list of valid headers. ex: X-Custom,Content-Disposition The filter allows any header if this is not set. default: returns any requested header as valid","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"headers","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.cors.exposed-headers","additionalKeys":[],"configDoc":"HTTP headers exposed in CORS Comma separated list of valid headers. ex: X-Custom,Content-Disposition default: empty","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"exposed-headers","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.cors.access-control-max-age","additionalKeys":[],"configDoc":"The `Access-Control-Max-Age` response header value indicating how long the results of a pre-flight request can be cached.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"access-control-max-age","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Boolean","key":"quarkus.http.cors.access-control-allow-credentials","additionalKeys":[],"configDoc":"The `Access-Control-Allow-Credentials` header is used to tell the browsers to expose the response to front-end JavaScript code when the request’s credentials mode Request.credentials is “include”. The value of this header will default to `true` if `quarkus.http.cors.origins` property is set and there is a match with the precise `Origin` header.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"access-control-allow-credentials","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.credentials-provider","additionalKeys":[],"configDoc":"The `CredentialsProvider`. If this property is configured, then a matching 'CredentialsProvider' will be used to get the keystore, keystore key, and truststore passwords unless these passwords have already been configured. Please note that using MicroProfile `ConfigSource` which is directly supported by Quarkus Configuration should be preferred unless using `CredentialsProvider` provides for some additional security and dynamism.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"credentials-provider","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.credentials-provider-name","additionalKeys":[],"configDoc":"The credentials provider bean name.\n\nThis is a bean name (as in `@Named`) of a bean that implements `CredentialsProvider`. It is used to select the credentials provider bean when multiple exist. This is unnecessary when there is only one credentials provider available.\n\nFor Vault, the credentials provider bean name is `vault-credentials-provider`.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"credentials-provider-name","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"path","key":"quarkus.http.ssl.certificate.files","additionalKeys":[],"configDoc":"The list of path to server certificates using the PEM format. Specifying multiple files requires SNI to be enabled.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"files","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"path","key":"quarkus.http.ssl.certificate.key-files","additionalKeys":[],"configDoc":"The list of path to server certificates private key files using the PEM format. Specifying multiple files requires SNI to be enabled. The order of the key files must match the order of the certificates.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"key-files","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"path","key":"quarkus.http.ssl.certificate.key-store-file","additionalKeys":[],"configDoc":"An optional key store that holds the certificate information instead of specifying separate files.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"key-store-file","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.key-store-file-type","additionalKeys":[],"configDoc":"An optional parameter to specify the type of the key store file. If not given, the type is automatically detected based on the file name.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"key-store-file-type","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.key-store-provider","additionalKeys":[],"configDoc":"An optional parameter to specify a provider of the key store file. If not given, the provider is automatically detected based on the key store file type.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"key-store-provider","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.key-store-password","additionalKeys":[],"configDoc":"A parameter to specify the password of the key store file. If not given, and if it can not be retrieved from `CredentialsProvider`.","withinAMap":false,"defaultValue":"password","javaDocSiteLink":"","docMapKey":"key-store-password","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.key-store-password-key","additionalKeys":[],"configDoc":"A parameter to specify a `CredentialsProvider` property key, which can be used to get the password of the key store file from `CredentialsProvider`.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"key-store-password-key","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.key-store-key-alias","additionalKeys":[],"configDoc":"An optional parameter to select a specific key in the key store. When SNI is disabled, and the key store contains multiple keys and no alias is specified; the behavior is undefined.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"key-store-key-alias","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.key-store-key-password","additionalKeys":[],"configDoc":"An optional parameter to define the password for the key, in case it is different from `key-store-password` If not given, it might be retrieved from `CredentialsProvider`.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"key-store-key-password","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.key-store-key-password-key","additionalKeys":[],"configDoc":"A parameter to specify a `CredentialsProvider` property key, which can be used to get the password for the key from `CredentialsProvider`.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"key-store-key-password-key","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"path","key":"quarkus.http.ssl.certificate.trust-store-file","additionalKeys":[],"configDoc":"An optional trust store that holds the certificate information of the trusted certificates.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"trust-store-file","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.trust-store-file-type","additionalKeys":[],"configDoc":"An optional parameter to specify the type of the trust store file. If not given, the type is automatically detected based on the file name.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"trust-store-file-type","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.trust-store-provider","additionalKeys":[],"configDoc":"An optional parameter to specify a provider of the trust store file. If not given, the provider is automatically detected based on the trust store file type.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"trust-store-provider","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.trust-store-password","additionalKeys":[],"configDoc":"A parameter to specify the password of the trust store file. If not given, it might be retrieved from `CredentialsProvider`.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"trust-store-password","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.trust-store-password-key","additionalKeys":[],"configDoc":"A parameter to specify a `CredentialsProvider` property key, which can be used to get the password of the trust store file from `CredentialsProvider`.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"trust-store-password-key","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.certificate.trust-store-cert-alias","additionalKeys":[],"configDoc":"An optional parameter to trust a single certificate from the trust store rather than trusting all certificates in the store.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"trust-store-cert-alias","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.cipher-suites","additionalKeys":[],"configDoc":"The cipher suites to use. If none is given, a reasonable default is selected.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"cipher-suites","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.ssl.protocols","additionalKeys":[],"configDoc":"Sets the ordered list of enabled SSL/TLS protocols.\n\nIf not set, it defaults to `\"TLSv1.3, TLSv1.2\"`. The following list of protocols are supported: `TLSv1, TLSv1.1, TLSv1.2, TLSv1.3`. To only enable `TLSv1.3`, set the value to `to \"TLSv1.3\"`.\n\nNote that setting an empty list, and enabling SSL/TLS is invalid. You must at least have one protocol.","withinAMap":false,"defaultValue":"TLSv1.3,TLSv1.2","javaDocSiteLink":"","docMapKey":"protocols","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.ssl.sni","additionalKeys":[],"configDoc":"Enables Server Name Indication (SNI), an TLS extension allowing the server to use multiple certificates. The client indicate the server name during the TLS handshake, allowing the server to select the right certificate.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"sni","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.static-resources.index-page","additionalKeys":[],"configDoc":"Set the index page when serving static resources.","withinAMap":false,"defaultValue":"index.html","javaDocSiteLink":"","docMapKey":"index-page","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.static-resources.include-hidden","additionalKeys":[],"configDoc":"Set whether hidden files should be served.","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"include-hidden","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.static-resources.enable-range-support","additionalKeys":[],"configDoc":"Set whether range requests (resumable downloads; media streaming) should be enabled.","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"enable-range-support","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.static-resources.caching-enabled","additionalKeys":[],"configDoc":"Set whether cache handling is enabled.","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"caching-enabled","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.static-resources.cache-entry-timeout","additionalKeys":[],"configDoc":"Set the cache entry timeout. The default is `30` seconds.","withinAMap":false,"defaultValue":"30S","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"cache-entry-timeout","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.static-resources.max-age","additionalKeys":[],"configDoc":"Set value for max age in caching headers. The default is `24` hours.","withinAMap":false,"defaultValue":"24H","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"max-age","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"int","key":"quarkus.http.static-resources.max-cache-size","additionalKeys":[],"configDoc":"Set the max cache size.","withinAMap":false,"defaultValue":"10000","javaDocSiteLink":"","docMapKey":"max-cache-size","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.handle-100-continue-automatically","additionalKeys":[],"configDoc":"When set to `true`, the HTTP server automatically sends `100 CONTINUE` response when the request expects it (with the `Expect: 100-Continue` header).","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"handle100-continue-automatically","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Integer","key":"quarkus.http.io-threads","additionalKeys":[],"configDoc":"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.\n\nIn 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.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"io-threads","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.runtime.configuration.MemorySize","key":"quarkus.http.limits.max-header-size","additionalKeys":[],"configDoc":"The maximum length of all headers.","withinAMap":false,"defaultValue":"20K","javaDocSiteLink":"","docMapKey":"max-header-size","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.runtime.configuration.MemorySize","key":"quarkus.http.limits.max-body-size","additionalKeys":[],"configDoc":"The maximum size of a request body.","withinAMap":false,"defaultValue":"10240K","javaDocSiteLink":"","docMapKey":"max-body-size","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.runtime.configuration.MemorySize","key":"quarkus.http.limits.max-chunk-size","additionalKeys":[],"configDoc":"The max HTTP chunk size","withinAMap":false,"defaultValue":"8192","javaDocSiteLink":"","docMapKey":"max-chunk-size","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"int","key":"quarkus.http.limits.max-initial-line-length","additionalKeys":[],"configDoc":"The maximum length of the initial line (e.g. `\"GET / HTTP/1.0\"`).","withinAMap":false,"defaultValue":"4096","javaDocSiteLink":"","docMapKey":"max-initial-line-length","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.runtime.configuration.MemorySize","key":"quarkus.http.limits.max-form-attribute-size","additionalKeys":[],"configDoc":"The maximum length of a form attribute.","withinAMap":false,"defaultValue":"2048","javaDocSiteLink":"","docMapKey":"max-form-attribute-size","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Integer","key":"quarkus.http.limits.max-connections","additionalKeys":[],"configDoc":"The maximum number of connections that are allowed at any one time. If this is set it is recommended to set a short idle timeout.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"max-connections","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Long","key":"quarkus.http.limits.header-table-size","additionalKeys":[],"configDoc":"Set the SETTINGS_HEADER_TABLE_SIZE HTTP/2 setting.\n\nAllows the sender to inform the remote endpoint of the maximum size of the header compression table used to decode header blocks, in octets. The encoder can select any size equal to or less than this value by using signaling specific to the header compression format inside a header block. The initial value is `4,096` octets.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"header-table-size","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Long","key":"quarkus.http.limits.max-concurrent-streams","additionalKeys":[],"configDoc":"Set SETTINGS_MAX_CONCURRENT_STREAMS HTTP/2 setting.\n\nIndicates the maximum number of concurrent streams that the sender will allow. This limit is directional: it applies to the number of streams that the sender permits the receiver to create. Initially, there is no limit to this value. It is recommended that this value be no smaller than 100, to not unnecessarily limit parallelism.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"max-concurrent-streams","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Integer","key":"quarkus.http.limits.max-frame-size","additionalKeys":[],"configDoc":"Set the SETTINGS_MAX_FRAME_SIZE HTTP/2 setting. Indicates the size of the largest frame payload that the sender is willing to receive, in octets. The initial value is `2^14` (16,384) octets.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"max-frame-size","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Long","key":"quarkus.http.limits.max-header-list-size","additionalKeys":[],"configDoc":"Set the SETTINGS_MAX_HEADER_LIST_SIZE HTTP/2 setting. This advisory setting informs a peer of the maximum size of header list that the sender is prepared to accept, in octets. The value is based on the uncompressed size of header fields, including the length of the name and value in octets plus an overhead of 32 octets for each header field. The default value is `8192`","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"max-header-list-size","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Integer","key":"quarkus.http.limits.rst-flood-max-rst-frame-per-window","additionalKeys":[],"configDoc":"Set the max number of RST frame allowed per time window, this is used to prevent link:https://github.com/netty/netty/security/advisories/GHSA-xpw8-rcwv-8f8p[HTTP/2 RST frame flood DDOS attacks]. The default value is `200`, setting zero or a negative value, disables flood protection.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"rst-flood-max-rst-frame-per-window","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.limits.rst-flood-window-duration","additionalKeys":[],"configDoc":"Set the duration of the time window when checking the max number of RST frames, this is used to prevent link:https://github.com/netty/netty/security/advisories/GHSA-xpw8-rcwv-8f8p[HTTP/2 RST frame flood DDOS attacks].. The default value is `30 s`, setting zero or a negative value, disables flood protection.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"rst-flood-window-duration","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.idle-timeout","additionalKeys":[],"configDoc":"Http connection idle timeout","withinAMap":false,"defaultValue":"30M","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"idle-timeout","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.read-timeout","additionalKeys":[],"configDoc":"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.","withinAMap":false,"defaultValue":"60S","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"read-timeout","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.body.handle-file-uploads","additionalKeys":[],"configDoc":"Whether the files sent using `multipart/form-data` will be stored locally.\n\nIf `true`, they will be stored in `quarkus.http.body-handler.uploads-directory` and will be made available via `io.vertx.ext.web.RoutingContext.fileUploads()`. Otherwise, the files sent using `multipart/form-data` will not be stored locally, and `io.vertx.ext.web.RoutingContext.fileUploads()` will always return an empty collection. Note that even with this option being set to `false`, the `multipart/form-data` requests will be accepted.","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"handle-file-uploads","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.body.uploads-directory","additionalKeys":[],"configDoc":"The directory where the files sent using `multipart/form-data` should be stored.\n\nEither an absolute path or a path relative to the current directory of the application process.","withinAMap":false,"defaultValue":"${java.io.tmpdir}/uploads","javaDocSiteLink":"","docMapKey":"uploads-directory","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.body.merge-form-attributes","additionalKeys":[],"configDoc":"Whether the form attributes should be added to the request parameters.\n\nIf `true`, the form attributes will be added to the request parameters; otherwise the form parameters will not be added to the request parameters","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"merge-form-attributes","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.body.delete-uploaded-files-on-end","additionalKeys":[],"configDoc":"Whether the uploaded files should be removed after serving the request.\n\nIf `true` the uploaded files stored in `quarkus.http.body-handler.uploads-directory` will be removed after handling the request. Otherwise, the files will be left there forever.","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"delete-uploaded-files-on-end","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.body.preallocate-body-buffer","additionalKeys":[],"configDoc":"Whether the body buffer should pre-allocated based on the `Content-Length` header value.\n\nIf `true` the body buffer is pre-allocated according to the size read from the `Content-Length` header. Otherwise, the body buffer is pre-allocated to 1KB, and is resized dynamically","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"preallocate-body-buffer","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.body.multipart.file-content-types","additionalKeys":[],"configDoc":"A comma-separated list of `ContentType` to indicate whether a given multipart field should be handled as a file part. You can use this setting to force HTTP-based extensions to parse a message part as a file based on its content type. For now, this setting only works when using RESTEasy Reactive.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"file-content-types","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.auth.session.encryption-key","additionalKeys":[],"configDoc":"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.\n\nIf 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","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"encryption-key","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.so-reuse-port","additionalKeys":[],"configDoc":"Enable socket reuse port (linux/macOs native transport only)","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"so-reuse-port","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.tcp-quick-ack","additionalKeys":[],"configDoc":"Enable tcp quick ack (linux native transport only)","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"tcp-quick-ack","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.tcp-cork","additionalKeys":[],"configDoc":"Enable tcp cork (linux native transport only)","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"tcp-cork","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.tcp-fast-open","additionalKeys":[],"configDoc":"Enable tcp fast open (linux native transport only)","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"tcp-fast-open","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"int","key":"quarkus.http.accept-backlog","additionalKeys":[],"configDoc":"The accept backlog, this is how many connections can be waiting to be accepted before connections start being rejected","withinAMap":false,"defaultValue":"-1","javaDocSiteLink":"","docMapKey":"accept-backlog","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Integer","key":"quarkus.http.initial-window-size","additionalKeys":[],"configDoc":"Set the SETTINGS_INITIAL_WINDOW_SIZE HTTP/2 setting. Indicates the sender's initial window size (in octets) for stream-level flow control. The initial value is `2^16-1` (65,535) octets.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"initial-window-size","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.domain-socket","additionalKeys":[],"configDoc":"Path to a unix domain socket","withinAMap":false,"defaultValue":"/var/run/io.quarkus.app.socket","javaDocSiteLink":"","docMapKey":"domain-socket","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.domain-socket-enabled","additionalKeys":[],"configDoc":"Enable listening to host:port","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"domain-socket-enabled","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.record-request-start-time","additionalKeys":[],"configDoc":"If this is true then the request start time will be recorded to enable logging of total request time.\n\nThis has a small performance penalty, so is disabled by default.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"record-request-start-time","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.access-log.enabled","additionalKeys":[],"configDoc":"If access logging is enabled. By default this will log via the standard logging facility","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"enabled","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.access-log.exclude-pattern","additionalKeys":[],"configDoc":"A regular expression that can be used to exclude some paths from logging.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"exclude-pattern","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.access-log.pattern","additionalKeys":[],"configDoc":"The access log pattern.\n\nIf this is the string `common`, `combined` or `long` then this will use one of the specified named formats:\n\n- common: `%h %l %u %t \"%r\" %s %b`\n- combined: `%h %l %u %t \"%r\" %s %b \"%{i,Referer}\" \"%{i,User-Agent}\"`\n- long: `%r\\n%{ALL_REQUEST_HEADERS}`\n\nOtherwise, consult the Quarkus documentation for the full list of variables that can be used.","withinAMap":false,"defaultValue":"common","javaDocSiteLink":"","docMapKey":"pattern","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.access-log.log-to-file","additionalKeys":[],"configDoc":"If logging should be done to a separate file.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"log-to-file","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.access-log.base-file-name","additionalKeys":[],"configDoc":"The access log file base name, defaults to 'quarkus' which will give a log file name of 'quarkus.log'.","withinAMap":false,"defaultValue":"quarkus","javaDocSiteLink":"","docMapKey":"base-file-name","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.access-log.log-directory","additionalKeys":[],"configDoc":"The log directory to use when logging access to a file If this is not set then the current working directory is used.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"log-directory","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.access-log.log-suffix","additionalKeys":[],"configDoc":"The log file suffix","withinAMap":false,"defaultValue":".log","javaDocSiteLink":"","docMapKey":"log-suffix","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.access-log.category","additionalKeys":[],"configDoc":"The log category to use if logging is being done via the standard log mechanism (i.e. if base-file-name is empty).","withinAMap":false,"defaultValue":"io.quarkus.http.access-log","javaDocSiteLink":"","docMapKey":"category","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.access-log.rotate","additionalKeys":[],"configDoc":"If the log should be rotated daily","withinAMap":false,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"rotate","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.traffic-shaping.enabled","additionalKeys":[],"configDoc":"Enables the traffic shaping.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"enabled","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.runtime.configuration.MemorySize","key":"quarkus.http.traffic-shaping.inbound-global-bandwidth","additionalKeys":[],"configDoc":"Set bandwidth limit in bytes per second for inbound connections. If not set, no limits are applied.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"inbound-global-bandwidth","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.runtime.configuration.MemorySize","key":"quarkus.http.traffic-shaping.outbound-global-bandwidth","additionalKeys":[],"configDoc":"Set bandwidth limit in bytes per second for outbound connections. If not set, no limits are applied.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"outbound-global-bandwidth","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.traffic-shaping.max-delay","additionalKeys":[],"configDoc":"Set the maximum delay to wait in case of traffic excess. Default is 15s. Must be less than the HTTP timeout.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"max-delay","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.time.Duration","key":"quarkus.http.traffic-shaping.check-interval","additionalKeys":[],"configDoc":"Set the delay between two computations of performances for channels. If set to 0, no stats are computed. Despite 0 is accepted (no accounting), it is recommended to set a positive value for the check interval, even if it is high since the precision of the traffic shaping depends on the period where the traffic is computed. In this case, a suggested value is something close to 5 or 10 minutes.\n\nIf not default, it defaults to 1s.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html","docMapKey":"check-interval","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.runtime.configuration.MemorySize","key":"quarkus.http.traffic-shaping.peak-outbound-global-bandwidth","additionalKeys":[],"configDoc":"Set the maximum global write size in bytes per second allowed in the buffer globally for all channels before write are suspended. The default value is 400 MB.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"peak-outbound-global-bandwidth","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.same-site-cookie.\"same-site-cookie\".case-sensitive","additionalKeys":[],"configDoc":"If the cookie pattern is case-sensitive","withinAMap":true,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"case-sensitive","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.vertx.core.http.CookieSameSite","key":"quarkus.http.same-site-cookie.\"same-site-cookie\".value","additionalKeys":[],"configDoc":"The value to set in the samesite attribute","withinAMap":true,"defaultValue":"","javaDocSiteLink":"https://vertx.io/docs/apidocs/io/vertx/core/http/CookieSameSite.html","docMapKey":"value","configPhase":"RUN_TIME","acceptedValues":["`none`","`strict`","`lax`"],"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":true}},{"configDocKey":{"type":"boolean","key":"quarkus.http.same-site-cookie.\"same-site-cookie\".enable-client-checker","additionalKeys":[],"configDoc":"Some User Agents break when sent SameSite=None, this will detect them and avoid sending the value","withinAMap":true,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"enable-client-checker","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.same-site-cookie.\"same-site-cookie\".add-secure-for-none","additionalKeys":[],"configDoc":"If this is true then the 'secure' attribute will automatically be sent on cookies with a SameSite attribute of None.","withinAMap":true,"defaultValue":"true","javaDocSiteLink":"","docMapKey":"add-secure-for-none","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.vertx.http.runtime.HttpConfiguration.PayloadHint","key":"quarkus.http.unhandled-error-content-type-default","additionalKeys":[],"configDoc":"Provides a hint (optional) for the default content type of responses generated for the errors not handled by the application.\n\nIf the client requested a supported content-type in request headers (e.g. \"Accept: application/json\", \"Accept: text/html\"), Quarkus will use that content type.\n\nOtherwise, it will default to the content type configured here.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"unhandled-error-content-type-default","configPhase":"RUN_TIME","acceptedValues":["`json`","`html`"],"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":false,"topLevelGrouping":"quarkus.http","enum":true}},{"configDocKey":{"type":"string","key":"quarkus.http.header.\"header\".path","additionalKeys":[],"configDoc":"The path this header should be applied","withinAMap":true,"defaultValue":"/*","javaDocSiteLink":"","docMapKey":"path","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.header.\"header\".value","additionalKeys":[],"configDoc":"The value for this header configuration","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"value","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.header.\"header\".methods","additionalKeys":[],"configDoc":"The HTTP methods for this header configuration","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"methods","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.filter.\"filter\".matches","additionalKeys":[],"configDoc":"A regular expression for the paths matching this configuration","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"matches","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"`Map`","key":"quarkus.http.filter.\"filter\".header","additionalKeys":[],"configDoc":"Additional HTTP Headers always sent in the response","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"header","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":true,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.filter.\"filter\".methods","additionalKeys":[],"configDoc":"The HTTP methods for this path configuration","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"methods","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Integer","key":"quarkus.http.filter.\"filter\".order","additionalKeys":[],"configDoc":"","withinAMap":true,"defaultValue":"","javaDocSiteLink":"","docMapKey":"order","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.proxy.use-proxy-protocol","additionalKeys":[],"configDoc":"Set whether the server should use the HA `PROXY` protocol when serving requests from behind a proxy. (see the link:https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt[PROXY Protocol]). When set to `true`, the remote address returned will be the one from the actual connecting client. If it is set to `false` (default), the remote address returned will be the one from the proxy.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"use-proxy-protocol","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.proxy.proxy-address-forwarding","additionalKeys":[],"configDoc":"If this is true then the address, scheme etc. will be set from headers forwarded by the proxy server, such as `X-Forwarded-For`. This should only be set if you are behind a proxy that sets these headers.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"proxy-address-forwarding","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.proxy.allow-forwarded","additionalKeys":[],"configDoc":"If this is true and proxy address forwarding is enabled then the standard `Forwarded` header will be used. In case the not standard `X-Forwarded-For` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-x-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `X-Forwarded` or `X-Forwarded-++*++` headers from the client.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"allow-forwarded","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"java.lang.Boolean","key":"quarkus.http.proxy.allow-x-forwarded","additionalKeys":[],"configDoc":"If either this or `allow-forwarded` are true and proxy address forwarding is enabled then the not standard `Forwarded` header will be used. In case the standard `Forwarded` header is enabled and detected on HTTP requests, the standard header has the precedence. Activating this together with `quarkus.http.proxy.allow-forwarded` has security implications as clients can forge requests with a forwarded header that is not overwritten by the proxy. Therefore, proxies should strip unexpected `X-Forwarded` or `X-Forwarded-++*++` headers from the client.","withinAMap":false,"defaultValue":"","javaDocSiteLink":"","docMapKey":"allow-x-forwarded","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.proxy.enable-forwarded-host","additionalKeys":[],"configDoc":"Enable override the received request's host through a forwarded host header.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"enable-forwarded-host","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.proxy.forwarded-host-header","additionalKeys":[],"configDoc":"Configure the forwarded host header to be used if override enabled.","withinAMap":false,"defaultValue":"X-Forwarded-Host","javaDocSiteLink":"","docMapKey":"forwarded-host-header","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"boolean","key":"quarkus.http.proxy.enable-forwarded-prefix","additionalKeys":[],"configDoc":"Enable prefix the received request's path with a forwarded prefix header.","withinAMap":false,"defaultValue":"false","javaDocSiteLink":"","docMapKey":"enable-forwarded-prefix","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"string","key":"quarkus.http.proxy.forwarded-prefix-header","additionalKeys":[],"configDoc":"Configure the forwarded prefix header to be used if prefixing enabled.","withinAMap":false,"defaultValue":"X-Forwarded-Prefix","javaDocSiteLink":"","docMapKey":"forwarded-prefix-header","configPhase":"RUN_TIME","acceptedValues":null,"optional":false,"list":false,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}},{"configDocKey":{"type":"io.quarkus.vertx.http.runtime.TrustedProxyCheck.TrustedProxyCheckPart","key":"quarkus.http.proxy.trusted-proxies","additionalKeys":[],"configDoc":"Configure the list of trusted proxy addresses. Received `Forwarded`, `X-Forwarded` or `X-Forwarded-++*++` headers from any other proxy address will be ignored. The trusted proxy address should be specified as the IP address (IPv4 or IPv6), hostname or Classless Inter-Domain Routing (CIDR) notation. Please note that Quarkus needs to perform DNS lookup for all hostnames during the request. For that reason, using hostnames is not recommended.\n\nExamples of a socket address in the form of `host` or `host:port`:\n\n - `127.0.0.1:8084`\n - `++[++0:0:0:0:0:0:0:1++]++`\n - `++[++0:0:0:0:0:0:0:1++]++:8084`\n - `++[++::++]++`\n - `localhost`\n - `localhost:8084`\n\nExamples of a CIDR notation:\n\n - `::/128`\n - `::/0`\n - `127.0.0.0/8`\n\nPlease bear in mind that IPv4 CIDR won't match request sent from the IPv6 address and the other way around.","withinAMap":false,"defaultValue":"All proxy addresses are trusted","javaDocSiteLink":"","docMapKey":"trusted-proxies","configPhase":"RUN_TIME","acceptedValues":null,"optional":true,"list":true,"passThroughMap":false,"withinAConfigGroup":true,"topLevelGrouping":"quarkus.http","enum":false}}] \ No newline at end of file diff --git a/_generated-doc/main/config/quarkus-all-config.adoc b/_generated-doc/main/config/quarkus-all-config.adoc index 4a5f94edd0..420a7e38e2 100644 --- a/_generated-doc/main/config/quarkus-all-config.adoc +++ b/_generated-doc/main/config/quarkus-all-config.adoc @@ -6406,7 +6406,9 @@ a|icon:lock[title=Fixed at build time] [[quarkus-vertx-http_quarkus.http.ssl.cli [.description] -- -Configures the engine to require/request client authentication. NONE, REQUEST, REQUIRED +Configures the engine to require/request client authentication. `NONE, REQUEST, REQUIRED`. + +When set to `REQUIRED`, it's recommended to also set `quarkus.http.insecure-requests=disabled` to disable the plain HTTP port. If `quarkus.http.insecure-requests` is not set, but this parameter is set to `REQUIRED`, then, `quarkus.http.insecure-requests` is automatically set to `disabled`. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_SSL_CLIENT_AUTH+++[] @@ -6443,7 +6445,7 @@ a|icon:lock[title=Fixed at build time] [[quarkus-vertx-http_quarkus.http.non-app -- A common root path for non-application endpoints. Various extension-provided endpoints such as metrics, health, and openapi are deployed under this path by default. - +

* Relative path (Default, `q`) -> Non-application endpoints will be served from `${quarkus.http.root-path}/${quarkus.http.non-application-root-path}`. @@ -6451,7 +6453,7 @@ Non-application endpoints will be served from Non-application endpoints will be served from the specified path. * `${quarkus.http.root-path}` -> Setting this path to the same value as HTTP root path disables this root path. All extension-provided endpoints will be served from `${quarkus.http.root-path}`. - +

If the management interface is enabled, the root path for the endpoints exposed on the management interface is configured using the `quarkus.management.root-path` property instead of this property. @@ -6488,7 +6490,9 @@ a|icon:lock[title=Fixed at build time] [[quarkus-vertx-http_quarkus.http.enable- [.description] -- -If enabled then the response body is compressed if the `Content-Type` header is set and the value is a compressed media type as configured via `compress-media-types`. Note that the RESTEasy Reactive and Reactive Routes extensions also make it possible to enable/disable compression declaratively using the annotations `io.quarkus.vertx.http.Compressed` and `io.quarkus.vertx.http.Uncompressed`. +If enabled then the response body is compressed if the `Content-Type` header is set and the value is a compressed media type as configured via `compress-media-types`. + +Note that the RESTEasy Reactive and Reactive Routes extensions also make it possible to enable/disable compression declaratively using the annotations `io.quarkus.vertx.http.Compressed` and `io.quarkus.vertx.http.Uncompressed`. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_ENABLE_COMPRESSION+++[] @@ -6505,7 +6509,9 @@ a|icon:lock[title=Fixed at build time] [[quarkus-vertx-http_quarkus.http.enable- [.description] -- -When enabled, vert.x will decompress the request's body if it's compressed. Note that the compression format (e.g., gzip) must be specified in the Content-Encoding header in the request. +When enabled, vert.x will decompress the request's body if it's compressed. + +Note that the compression format (e.g., gzip) must be specified in the Content-Encoding header in the request. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_ENABLE_DECOMPRESSION+++[] @@ -6850,7 +6856,11 @@ a| [[quarkus-vertx-http_quarkus.http.host]]`link:#quarkus-vertx-http_quarkus.htt [.description] -- -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. +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. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_HOST+++[] @@ -6954,6 +6964,8 @@ a| [[quarkus-vertx-http_quarkus.http.insecure-requests]]`link:#quarkus-vertx-htt -- If insecure (i.e. http rather than https) requests are allowed. If this is `enabled` 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. +Default is `enabled` except when client auth is set to `required` (configured using `quarkus.http.ssl.client-auth=required`). In this case, the default is `disabled`. + ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_INSECURE_REQUESTS+++[] endif::add-copy-button-to-env-var[] @@ -6962,7 +6974,7 @@ Environment variable: `+++QUARKUS_HTTP_INSECURE_REQUESTS+++` endif::add-copy-button-to-env-var[] -- a| `enabled`, `redirect`, `disabled` -|`enabled` +| a| [[quarkus-vertx-http_quarkus.http.http2]]`link:#quarkus-vertx-http_quarkus.http.http2[quarkus.http.http2]` @@ -6970,7 +6982,9 @@ a| [[quarkus-vertx-http_quarkus.http.http2]]`link:#quarkus-vertx-http_quarkus.ht [.description] -- -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. +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. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_HTTP2+++[] @@ -7610,7 +7624,9 @@ a| [[quarkus-vertx-http_quarkus.http.io-threads]]`link:#quarkus-vertx-http_quark [.description] -- -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. +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. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_IO_THREADS+++[] @@ -7984,7 +8000,9 @@ a| [[quarkus-vertx-http_quarkus.http.auth.session.encryption-key]]`link:#quarkus [.description] -- -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 +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 ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_AUTH_SESSION_ENCRYPTION_KEY+++[] @@ -8137,7 +8155,9 @@ a| [[quarkus-vertx-http_quarkus.http.record-request-start-time]]`link:#quarkus-v [.description] -- -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. +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. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_RECORD_REQUEST_START_TIME+++[] diff --git a/_generated-doc/main/config/quarkus-http-http-build-time-config.adoc b/_generated-doc/main/config/quarkus-http-http-build-time-config.adoc index affe925ccf..ff13e458d2 100644 --- a/_generated-doc/main/config/quarkus-http-http-build-time-config.adoc +++ b/_generated-doc/main/config/quarkus-http-http-build-time-config.adoc @@ -100,7 +100,9 @@ a|icon:lock[title=Fixed at build time] [[quarkus-http-http-build-time-config_qua [.description] -- -Configures the engine to require/request client authentication. NONE, REQUEST, REQUIRED +Configures the engine to require/request client authentication. `NONE, REQUEST, REQUIRED`. + +When set to `REQUIRED`, it's recommended to also set `quarkus.http.insecure-requests=disabled` to disable the plain HTTP port. If `quarkus.http.insecure-requests` is not set, but this parameter is set to `REQUIRED`, then, `quarkus.http.insecure-requests` is automatically set to `disabled`. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_SSL_CLIENT_AUTH+++[] @@ -137,7 +139,7 @@ a|icon:lock[title=Fixed at build time] [[quarkus-http-http-build-time-config_qua -- A common root path for non-application endpoints. Various extension-provided endpoints such as metrics, health, and openapi are deployed under this path by default. - +

* Relative path (Default, `q`) -> Non-application endpoints will be served from `${quarkus.http.root-path}/${quarkus.http.non-application-root-path}`. @@ -145,7 +147,7 @@ Non-application endpoints will be served from Non-application endpoints will be served from the specified path. * `${quarkus.http.root-path}` -> Setting this path to the same value as HTTP root path disables this root path. All extension-provided endpoints will be served from `${quarkus.http.root-path}`. - +

If the management interface is enabled, the root path for the endpoints exposed on the management interface is configured using the `quarkus.management.root-path` property instead of this property. @@ -182,7 +184,9 @@ a|icon:lock[title=Fixed at build time] [[quarkus-http-http-build-time-config_qua [.description] -- -If enabled then the response body is compressed if the `Content-Type` header is set and the value is a compressed media type as configured via `compress-media-types`. Note that the RESTEasy Reactive and Reactive Routes extensions also make it possible to enable/disable compression declaratively using the annotations `io.quarkus.vertx.http.Compressed` and `io.quarkus.vertx.http.Uncompressed`. +If enabled then the response body is compressed if the `Content-Type` header is set and the value is a compressed media type as configured via `compress-media-types`. + +Note that the RESTEasy Reactive and Reactive Routes extensions also make it possible to enable/disable compression declaratively using the annotations `io.quarkus.vertx.http.Compressed` and `io.quarkus.vertx.http.Uncompressed`. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_ENABLE_COMPRESSION+++[] @@ -199,7 +203,9 @@ a|icon:lock[title=Fixed at build time] [[quarkus-http-http-build-time-config_qua [.description] -- -When enabled, vert.x will decompress the request's body if it's compressed. Note that the compression format (e.g., gzip) must be specified in the Content-Encoding header in the request. +When enabled, vert.x will decompress the request's body if it's compressed. + +Note that the compression format (e.g., gzip) must be specified in the Content-Encoding header in the request. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_ENABLE_DECOMPRESSION+++[] diff --git a/_generated-doc/main/config/quarkus-http-http-configuration.adoc b/_generated-doc/main/config/quarkus-http-http-configuration.adoc index 3086a691d2..022bdd5caf 100644 --- a/_generated-doc/main/config/quarkus-http-http-configuration.adoc +++ b/_generated-doc/main/config/quarkus-http-http-configuration.adoc @@ -309,7 +309,11 @@ a| [[quarkus-http-http-configuration_quarkus.http.host]]`link:#quarkus-http-http [.description] -- -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. +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. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_HOST+++[] @@ -413,6 +417,8 @@ a| [[quarkus-http-http-configuration_quarkus.http.insecure-requests]]`link:#quar -- If insecure (i.e. http rather than https) requests are allowed. If this is `enabled` 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. +Default is `enabled` except when client auth is set to `required` (configured using `quarkus.http.ssl.client-auth=required`). In this case, the default is `disabled`. + ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_INSECURE_REQUESTS+++[] endif::add-copy-button-to-env-var[] @@ -421,7 +427,7 @@ Environment variable: `+++QUARKUS_HTTP_INSECURE_REQUESTS+++` endif::add-copy-button-to-env-var[] -- a| `enabled`, `redirect`, `disabled` -|`enabled` +| a| [[quarkus-http-http-configuration_quarkus.http.http2]]`link:#quarkus-http-http-configuration_quarkus.http.http2[quarkus.http.http2]` @@ -429,7 +435,9 @@ a| [[quarkus-http-http-configuration_quarkus.http.http2]]`link:#quarkus-http-htt [.description] -- -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. +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. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_HTTP2+++[] @@ -1069,7 +1077,9 @@ a| [[quarkus-http-http-configuration_quarkus.http.io-threads]]`link:#quarkus-htt [.description] -- -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. +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. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_IO_THREADS+++[] @@ -1443,7 +1453,9 @@ a| [[quarkus-http-http-configuration_quarkus.http.auth.session.encryption-key]]` [.description] -- -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 +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 ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_AUTH_SESSION_ENCRYPTION_KEY+++[] @@ -1596,7 +1608,9 @@ a| [[quarkus-http-http-configuration_quarkus.http.record-request-start-time]]`li [.description] -- -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. +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. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_RECORD_REQUEST_START_TIME+++[] diff --git a/_generated-doc/main/config/quarkus-vertx-http.adoc b/_generated-doc/main/config/quarkus-vertx-http.adoc index 462d1e0b48..dc3bb4ad09 100644 --- a/_generated-doc/main/config/quarkus-vertx-http.adoc +++ b/_generated-doc/main/config/quarkus-vertx-http.adoc @@ -100,7 +100,9 @@ a|icon:lock[title=Fixed at build time] [[quarkus-vertx-http_quarkus.http.ssl.cli [.description] -- -Configures the engine to require/request client authentication. NONE, REQUEST, REQUIRED +Configures the engine to require/request client authentication. `NONE, REQUEST, REQUIRED`. + +When set to `REQUIRED`, it's recommended to also set `quarkus.http.insecure-requests=disabled` to disable the plain HTTP port. If `quarkus.http.insecure-requests` is not set, but this parameter is set to `REQUIRED`, then, `quarkus.http.insecure-requests` is automatically set to `disabled`. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_SSL_CLIENT_AUTH+++[] @@ -137,7 +139,7 @@ a|icon:lock[title=Fixed at build time] [[quarkus-vertx-http_quarkus.http.non-app -- A common root path for non-application endpoints. Various extension-provided endpoints such as metrics, health, and openapi are deployed under this path by default. - +

* Relative path (Default, `q`) -> Non-application endpoints will be served from `${quarkus.http.root-path}/${quarkus.http.non-application-root-path}`. @@ -145,7 +147,7 @@ Non-application endpoints will be served from Non-application endpoints will be served from the specified path. * `${quarkus.http.root-path}` -> Setting this path to the same value as HTTP root path disables this root path. All extension-provided endpoints will be served from `${quarkus.http.root-path}`. - +

If the management interface is enabled, the root path for the endpoints exposed on the management interface is configured using the `quarkus.management.root-path` property instead of this property. @@ -182,7 +184,9 @@ a|icon:lock[title=Fixed at build time] [[quarkus-vertx-http_quarkus.http.enable- [.description] -- -If enabled then the response body is compressed if the `Content-Type` header is set and the value is a compressed media type as configured via `compress-media-types`. Note that the RESTEasy Reactive and Reactive Routes extensions also make it possible to enable/disable compression declaratively using the annotations `io.quarkus.vertx.http.Compressed` and `io.quarkus.vertx.http.Uncompressed`. +If enabled then the response body is compressed if the `Content-Type` header is set and the value is a compressed media type as configured via `compress-media-types`. + +Note that the RESTEasy Reactive and Reactive Routes extensions also make it possible to enable/disable compression declaratively using the annotations `io.quarkus.vertx.http.Compressed` and `io.quarkus.vertx.http.Uncompressed`. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_ENABLE_COMPRESSION+++[] @@ -199,7 +203,9 @@ a|icon:lock[title=Fixed at build time] [[quarkus-vertx-http_quarkus.http.enable- [.description] -- -When enabled, vert.x will decompress the request's body if it's compressed. Note that the compression format (e.g., gzip) must be specified in the Content-Encoding header in the request. +When enabled, vert.x will decompress the request's body if it's compressed. + +Note that the compression format (e.g., gzip) must be specified in the Content-Encoding header in the request. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_ENABLE_DECOMPRESSION+++[] @@ -544,7 +550,11 @@ a| [[quarkus-vertx-http_quarkus.http.host]]`link:#quarkus-vertx-http_quarkus.htt [.description] -- -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. +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. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_HOST+++[] @@ -648,6 +658,8 @@ a| [[quarkus-vertx-http_quarkus.http.insecure-requests]]`link:#quarkus-vertx-htt -- If insecure (i.e. http rather than https) requests are allowed. If this is `enabled` 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. +Default is `enabled` except when client auth is set to `required` (configured using `quarkus.http.ssl.client-auth=required`). In this case, the default is `disabled`. + ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_INSECURE_REQUESTS+++[] endif::add-copy-button-to-env-var[] @@ -656,7 +668,7 @@ Environment variable: `+++QUARKUS_HTTP_INSECURE_REQUESTS+++` endif::add-copy-button-to-env-var[] -- a| `enabled`, `redirect`, `disabled` -|`enabled` +| a| [[quarkus-vertx-http_quarkus.http.http2]]`link:#quarkus-vertx-http_quarkus.http.http2[quarkus.http.http2]` @@ -664,7 +676,9 @@ a| [[quarkus-vertx-http_quarkus.http.http2]]`link:#quarkus-vertx-http_quarkus.ht [.description] -- -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. +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. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_HTTP2+++[] @@ -1304,7 +1318,9 @@ a| [[quarkus-vertx-http_quarkus.http.io-threads]]`link:#quarkus-vertx-http_quark [.description] -- -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. +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. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_IO_THREADS+++[] @@ -1678,7 +1694,9 @@ a| [[quarkus-vertx-http_quarkus.http.auth.session.encryption-key]]`link:#quarkus [.description] -- -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 +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 ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_AUTH_SESSION_ENCRYPTION_KEY+++[] @@ -1831,7 +1849,9 @@ a| [[quarkus-vertx-http_quarkus.http.record-request-start-time]]`link:#quarkus-v [.description] -- -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. +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. ifdef::add-copy-button-to-env-var[] Environment variable: env_var_with_copy_button:+++QUARKUS_HTTP_RECORD_REQUEST_START_TIME+++[] diff --git a/_versions/main/guides/http-reference.adoc b/_versions/main/guides/http-reference.adoc index 6371eef039..e8333a697d 100644 --- a/_versions/main/guides/http-reference.adoc +++ b/_versions/main/guides/http-reference.adoc @@ -151,7 +151,7 @@ Refer to the xref:./management-interface-reference.adoc[management interface ref ==== [[ssl]] -== Supporting secure connections with SSL/TLS +== Supporting secure connections with TLS/SSL To have Quarkus support secure connections, you must either provide a certificate and associated key file, or supply a keystore. diff --git a/_versions/main/guides/security-authentication-mechanisms.adoc b/_versions/main/guides/security-authentication-mechanisms.adoc index 39d3ee7c18..b590854e0e 100644 --- a/_versions/main/guides/security-authentication-mechanisms.adoc +++ b/_versions/main/guides/security-authentication-mechanisms.adoc @@ -194,6 +194,7 @@ quarkus.http.ssl.certificate.trust-store-password=the_trust_store_secret quarkus.http.ssl.client-auth=required <3> quarkus.http.auth.permission.default.paths=/* <4> quarkus.http.auth.permission.default.policy=authenticated +quarkus.http.insecure-requests=disabled <5> ---- <1> The keystore where the server's private key is located. <2> The truststore from which the trusted certificates are loaded. @@ -201,6 +202,7 @@ quarkus.http.auth.permission.default.policy=authenticated To relax this requirement so that the server accepts requests without a certificate, set the value to `REQUEST`. This option is useful when you are also supporting authentication methods other than mTLS. <4> Defines a policy where only authenticated users should have access to resources from your application. +<5> Optionally,explicitly disable the plain HTTP protocol, and consequently require all requests to be made over HTTPS. If `quarkus.http.ssl.client-auth` is set to `required`, the `quarkus.http.insecure-requests` property is automatically set to `disabled`. When the incoming request matches a valid certificate in the truststore, your application can obtain the subject by injecting a `SecurityIdentity` as follows: diff --git a/_versions/main/guides/security-authorize-web-endpoints-reference.adoc b/_versions/main/guides/security-authorize-web-endpoints-reference.adoc index d58d17d46b..a4bccb5f37 100644 --- a/_versions/main/guides/security-authorize-web-endpoints-reference.adoc +++ b/_versions/main/guides/security-authorize-web-endpoints-reference.adoc @@ -87,9 +87,9 @@ import io.vertx.ext.web.RoutingContext; @ApplicationScoped public class CustomNamedHttpSecPolicy implements HttpSecurityPolicy { @Override - public Uni checkPermission(RoutingContext request, Uni identity, + public Uni checkPermission(RoutingContext event, Uni identity, AuthorizationRequestContext requestContext) { - if (customRequestAuthorization(request)) { + if (customRequestAuthorization(event)) { return Uni.createFrom().item(CheckResult.PERMIT); } return Uni.createFrom().item(CheckResult.DENY); @@ -99,6 +99,11 @@ public class CustomNamedHttpSecPolicy implements HttpSecurityPolicy { public String name() { return "custom"; <1> } + + private static boolean customRequestAuthorization(RoutingContext event) { + // here comes your own security check + return !event.request().path().endsWith("denied"); + } } ---- <1> Named HTTP Security policy will only be applied to requests matched by the `application.properties` path matching rules. @@ -376,8 +381,6 @@ The following xref:subject-example[SubjectExposingResource example] demonstrates ---- import java.security.Principal; -import jakarta.annotation.security.DenyAll; -import jakarta.annotation.security.PermitAll; import jakarta.annotation.security.RolesAllowed; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; @@ -617,7 +620,7 @@ quarkus.http.auth.permission.roles1.paths=/crud/modify/*,/crud/id/* quarkus.http.auth.permission.roles1.policy=role-policy1 quarkus.http.auth.policy.role-policy2.permissions.user=list -quarkus.http.auth.policy.role-policy2.permission-class=org.acme.crud.CRUDResource.CustomPermission <4> +quarkus.http.auth.policy.role-policy2.permission-class=org.acme.crud.CRUDResource$CustomPermission <4> quarkus.http.auth.permission.roles2.paths=/crud/list quarkus.http.auth.permission.roles2.policy=role-policy2 ---- @@ -626,7 +629,7 @@ Similarly, for the `@PermissionsAllowed` annotation, `io.quarkus.security.String <2> Permissions `create`, `update`, and `read` are mapped to the role `admin`. <3> The role policy `role-policy1` allows only authenticated requests to access `/crud/modify` and `/crud/id` sub-paths. For more information about the path-matching algorithm, see xref:matching-multiple-paths[Matching multiple paths: longest path wins] later in this guide. -<4> You can also specify a custom implementation of the `java.security.Permission` class. +<4> You can specify a custom implementation of the `java.security.Permission` class. Your custom class must define exactly one constructor that accepts the permission name and optionally some actions, for example, `String` array. In this scenario, the permission `list` is added to the `SecurityIdentity` instance as `new CustomPermission("list")`. @@ -638,6 +641,8 @@ Later, Quarkus instantiates your custom permission with actual arguments, with w [source,java] ---- +package org.acme.library; + import java.security.Permission; import java.util.Arrays; import java.util.Set; @@ -665,7 +670,7 @@ public class LibraryPermission extends Permission { return false; } - ... + // here comes your own implementation of the `java.security.Permission` class methods public static abstract class Library { @@ -684,7 +689,7 @@ public class LibraryPermission extends Permission { } public static class TvLibrary extends MediaLibrary { - ... + // TvLibrary specific implementation of the 'isParentLibraryOf' method } } ---- @@ -699,8 +704,11 @@ The following example shows how the `LibraryPermission` class can be used: [source,java] ---- +package org.acme.library; + import io.quarkus.security.PermissionsAllowed; import jakarta.enterprise.context.ApplicationScoped; +import org.acme.library.LibraryPermission.Library; @ApplicationScoped public class LibraryService { @@ -729,6 +737,15 @@ The permission constructor and the annotated method must have the parameter `lib [source,java] ---- +package org.acme.library; + +import io.quarkus.security.PermissionsAllowed; +import jakarta.inject.Inject; +import jakarta.ws.rs.PUT; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import org.acme.library.LibraryPermission.Library; + @Path("/library") public class LibraryResource { @@ -759,9 +776,6 @@ Similarly to the `CRUDResource` example, the following example shows how you can package org.acme.library; import io.quarkus.runtime.annotations.RegisterForReflection; -import java.security.Permission; -import java.util.Arrays; -import java.util.Set; @RegisterForReflection <1> public class MediaLibraryPermission extends LibraryPermission { @@ -782,10 +796,12 @@ quarkus.http.auth.policy.role-policy3.permission-class=org.acme.library.MediaLib quarkus.http.auth.permission.roles3.paths=/library/* quarkus.http.auth.permission.roles3.policy=role-policy3 ---- - <1> Grants the permission `media-library`, which permits `read`, `write`, and `list` actions. Because `MediaLibrary` is the `TvLibrary` class parent, a user with the `admin` role is also permitted to modify `TvLibrary`. +TIP: The `/library/*` path can be tested from a Keycloak provider Dev UI page, because the user `alice` which is created +automatically by the xref:security-openid-connect-dev-services.adoc[Dev Services for Keycloak] has an `admin` role. + The examples provided so far use role-to-permission mapping. You can also add permissions to the `SecurityIdentity` instance programmatically. In the following example, xref:security-customization.adoc#security-identity-customization[`SecurityIdentity` is customized] to add the same permission that was previously granted with the HTTP role-based policy. diff --git a/_versions/main/guides/security-oidc-code-flow-authentication-tutorial.adoc b/_versions/main/guides/security-oidc-code-flow-authentication-tutorial.adoc index 4e1e0c0d06..c5d75ae92b 100644 --- a/_versions/main/guides/security-oidc-code-flow-authentication-tutorial.adoc +++ b/_versions/main/guides/security-oidc-code-flow-authentication-tutorial.adoc @@ -20,8 +20,6 @@ See also, xref:security-authentication-mechanisms.adoc#other-supported-authentic If you want to protect your service applications by using OIDC Bearer token authentication, see xref:security-oidc-bearer-token-authentication.adoc[OIDC Bearer token authentication]. -:sectnums!: - == Prerequisites :prerequisites-docker: @@ -91,6 +89,7 @@ import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; +import org.eclipse.microprofile.jwt.Claims; import org.eclipse.microprofile.jwt.JsonWebToken; import io.quarkus.oidc.IdToken; @@ -132,7 +131,7 @@ public class TokenResource { .append("