Getting Started
Core
Relational Databases
NoSQL Databases
Cache
Internationalization
REST Client
Scheduler
Sendmail
Template
Virtual File Storage
Web
Testing
Advanced
Does your application need to have web entry points (ie: http(s) or websocket) to provide an API or web pages? The voidframework-web
module will best meet your expectations.
To enable this module, just add following lines to the pom.xml
file of your project.
<dependency>
<groupId>dev.voidframework</groupId>
<artifactId>voidframework-web</artifactId>
<version>1.16.0</version>
</dependency>
The following configuration keys can be used.
Base
voidframework.web.gracefulStopTimeout
the time (duration or milliseconds) for the web daemon to shut down properly. The default value is 15 seconds
.voidframework.web.errorHandler
the implementation of the error handler to use in case of http error. The default value is dev.voidframework.web.http.errorhandler.DefaultErrorHandler
.voidframework.web.contextPath
the default context path root. The default value is /
.voidframework.web.routes
a list of routing definition classes (must implement the interface AppRoutesDefinition
). The default value is []
.voidframework.web.globalFilters
a list of routing global filter classes (must implement the interface Filter
). The default value is []
.voidframework.web.baseAssetResourcesDirectory
the default location of static files in the “resources” directory. The default value is static
.Server
voidframework.web.server.idleTimeout
the time without any request to wait before the connection is closed. The default value is 30 seconds
.voidframework.web.server.extraWebServerConfiguration
the implementation of the interface ExtraWebServerConfiguration
to apply a custom configuration to the Undertow web server. The default value is null
.voidframework.web.server.ioThreads
the number of I/O threads. If not specified (value = null or 0), Math.max(Runtime.getRuntime().availableProcessors(), 2)
value will be used. The default value is null
.voidframework.web.server.workerThreads
the number of Worker threads. If not specified (value = null or 0), ioThreadsNumber * 8
value will be used. The default value is null
.voidframework.web.server.maxBodySize
the max body content size. The default value is 1 MiB
.voidframework.web.server.fileSizeThreshold
the maximum size allowed in memory before the uploaded file was stored on the disk rather than in memory. The default value is 256 KiB
.voidframework.web.server.tempFileLocation
the location where temporary files will be stored. The default value is null
(default Java temporary folder).HTTP
voidframework.web.server.http.listenHost
the interface on which the server will listen for non-secure HTTP requests. The default value is 127.0.0.1
.voidframework.web.server.http.listenPort
the port on which the server will listen for non-secure HTTP requests. The default value is 9000
.HTTPS
voidframework.web.server.https.listenHost
the interface on which the server will listen for HTTPS requests. The default value is 127.0.0.1
.voidframework.web.server.https.listenPort
the port on which the server will listen for HTTPS requests. The default value is 9001
.voidframework.web.server.https.ssl.protocols
the protocols to use. The default value is ["TLSv1.2", "TLSv1.3"]
.voidframework.web.server.https.ssl.ciphers
the allowed ciphers. If list is empty, all ciphers will be allowed. The default value is []
.voidframework.web.server.https.ssl.keyStorePath
the path where is located the key store. Could be a “resources” path, a URL or a simple path. The default value is null
.voidframework.web.server.https.ssl.keyStoreType
the type of the key store. The default value is JKS
.voidframework.web.server.https.ssl.keyStorePassword
the password to use to open the key store. The default value is null
.voidframework.web.server.https.ssl.keyAlias
the alias of the key to use. If “null” the key will be choosen automatically. The default value is null
.voidframework.web.server.https.ssl.keyPassword
the key password. The default value is ${voidframework.web.server.https.ssl.keyStorePassword}
.Language
voidframework.web.language.availableLanguages
the available languages. The default value is ["en", "fr"]
.voidframework.web.language.cookieName
the name of the cookie containing the current language. The default value is VOID_LANG
.voidframework.web.language.cookieHttpOnly
if the cookie can only be accessed via HTTP. The default value is false
.voidframework.web.language.cookieSecure
if the cookie must be secured, if true
, the cookie will be only sent via HTTPS. The default value is false
.Flash messages
voidframework.web.flashMessages.cookieName
the name of the cookie containing the current flash messages. The default value is VOID_FLASH
.voidframework.web.flashMessages.cookieHttpOnly
if the cookie can only be accessed via HTTP. The default value is false
.voidframework.web.flashMessages.cookieSecure
if the cookie must be secured, if true
, the cookie will be only sent via HTTPS. The default value is false
.Session
voidframework.web.session.cookieName
the name of the cookie containing the current session. The default value is VOID_SESS
.voidframework.web.session.cookieHttpOnly
is the cookie only be accessed via HTTP? The default value is true
.voidframework.web.session.cookieSecure
is the cookie secured? If true, sent only for HTTPS requests. The default value is false
.voidframework.web.session.signatureKey
the key used to digitally sign the session content.voidframework.web.session.timeToLive
the session TTL. The default value is 7 days
.CSRF
voidframework.web.csrf.tokenName
the token name (used to retrieve token from Body or QueryString). The default value is csrfToken
.voidframework.web.csrf.cookieName
the name of the cookie containing the current CSRF. The default value is VOID_CSRF
.voidframework.web.csrf.cookieHttpOnly
is the cookie only be accessed via HTTP? The default value is true
.voidframework.web.csrf.cookieSecure
is the cookie secured? If true, sent only for HTTPS requests. The default value is false
.voidframework.web.csrf.signatureKey
the key used to digitally sign the CSRF token. The default value is ${voidframework.web.session.signatureKey}
.voidframework.web.csrf.timeToLive
the CSRF token TTL. The default value is 15 minutes
.Security headers
voidframework.web.securityHeaders.contentTypeOptions
the value for the header “X-Content-Type-Options”. The default value is nosniff
.voidframework.web.securityHeaders.frameOptions
the value for the header “X-Frame-Options”. The default value is DENY
.voidframework.web.securityHeaders.xssProtection
the value for the header “X-XSS-Protection”. The default value is 1; mode=block
.voidframework.web.securityHeaders.crossOriginResourcePolicy
the value for the header “Cross-Origin-Resource-Policy”. The default value is same-origin
.voidframework.web.securityHeaders.contentSecurityPolicy
the value for the header “Content-Security-Policy”. The default value is default-src 'self'
.