-
Notifications
You must be signed in to change notification settings - Fork 1
/
reference.conf
264 lines (204 loc) · 9.1 KB
/
reference.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
voidframework {
# Core configuration
core {
acceptedScanPaths += "dev.voidframework.web.module"
acceptedScanPaths += "dev.voidframework.web.http.filter"
acceptedScanPaths += "dev.voidframework.web.server"
acceptedScanPaths += "dev.voidframework.web.conversion.converter"
# Defines interfaces for which to bind all found implementations.
bindExtraInterfaces += "dev.voidframework.web.http.filter.Filter"
bindExtraInterfaces += "dev.voidframework.web.server.ExtraWebServerConfiguration"
}
# Configuration of "web" module
web {
# Specifies the time for the daemon to shut down properly before it was terminated.
# following units can be used:
# - s, seconds
# - m, minutes
# - h, hours
# - d, days
#
# ie: gracefulStopTimeout = "15 seconds
gracefulStopTimeout = "15 seconds"
# Implementation of the error handler to use
errorHandler = "dev.voidframework.web.http.errorhandler.DefaultErrorHandler"
# Defines the default context path root
contextPath = "/"
# The locations of the routing configuration classes (including class name)
# Allow manual route declaration. Use it with caution!
routes = []
# The locations of the global filter classes (including class name)
globalFilters = []
# The default location of static files
baseAssetResourcesDirectory = "static"
# Language
language {
# Available languages
availableLanguages = ["en", "fr"]
# Name of the cookie containing the current language
cookieName = "VOID_LANG"
# Is the cookie only be accessed via HTTP?
cookieHttpOnly = false
# Is the cookie secured? If true, sent only for HTTPS requests
cookieSecure = false
}
# Flash messages
flashMessages {
# Name of the cookie containing the current session
cookieName = "VOID_FLASH"
# Is the cookie only be accessed via HTTP?
cookieHttpOnly = true
# Is the cookie secured? If true, sent only for HTTPS requests
cookieSecure = false
}
# Session
session {
# Name of the cookie containing the current session
cookieName = "VOID_SESS"
# Is the cookie only be accessed via HTTP?
cookieHttpOnly = true
# Is the cookie secured? If true, sent only for HTTPS requests
cookieSecure = false
# Signature key is used to secure the session content
signatureKey = "changeme"
# Defines the session TTL. According to the documentation, the
# following units can be used:
# - s, seconds
# - m, minutes
# - h, hours
# - d, days
#
# ie: timeToLive = "7 days"
timeToLive = "7 days"
}
# Security headers
securityHeaders {
# Defines the value for the header "X-Content-Type-Options".
# If set to null, the header will no be added.
contentTypeOptions = "nosniff"
# Defines the value for the header "X-Frame-Options".
# If set to null, the header will no be added.
frameOptions = "DENY"
# Defines the value for the header "X-XSS-Protection".
# If set to null, the header will no be added.
xssProtection = "1; mode=block"
# Defines the value for the header "Cross-Origin-Resource-Policy".
# If set to null, the header will no be added.
crossOriginResourcePolicy = "same-origin"
# Defines the value for the header "Content-Security-Policy".
# If set to null, the header will no be added
contentSecurityPolicy = "default-src 'self'"
}
# Cross-Site Request Forgery
csrf {
# The token name
tokenName = "csrfToken"
# Name of the cookie containing the current CSRF token
cookieName = "VOID_CSRF"
# Is the cookie only be accessed via HTTP?
cookieHttpOnly = false
# Is the CSRF cookie secured? If true, sent only for HTTPS requests
cookieSecure = ${voidframework.web.session.cookieSecure}
# Signature key is used to secure the CSRF token
signatureKey = ${voidframework.web.session.signatureKey}
# Defines the time to live (TTL) of a single CSRF Token
# The following units can be used:
# - s, seconds
# - m, minutes
# - h, hours
# - d, days
#
# ie: timeToLive = "15 minutes"
timeToLive = "15 minutes"
}
# Server configuration
server {
# The time without any request to wait before the connection is closed.
# The following units can be used:
# - ms, millis, milliseconds
# - s, seconds
# - m, minutes
# - h, hours
# - d, days
#
# ie: idleTimeout = "30 seconds"
idleTimeout = "30 seconds"
# Defines the implementation of the interface "ExtraWebServerConfiguration"
# to apply a custom configuration to the Undertow web server
extraWebServerConfiguration = null
# Defines the number of I/O threads. If not specified (value = null or 0), the
# following default value will be used:
# ioThreadsNumber = Math.max(Runtime.getRuntime().availableProcessors(), 2)
ioThreads = null
# Defines the number of Worker threads. If not specified (value = null or 0), the
# following default value will be used:
# workerThreadsNumber = ioThreadsNumber * 8
workerThreads = null
# Specifies the max body content size. According to the documentation, the
# following units can be used:
# - K, k, Ki, KiB, kibibyte, kibibytes
# - M, m, Mi, MiB, mebibyte, mebibytes
# - G, g, Gi, GiB, gibibyte, gibibytes
#
# ie: timeToLive = "1 MiB"
maxBodySize = "1 MiB"
# Specifies the maximum size allowed in memory before the uploaded file was stored
# on the disk rather than in memoryt. According to the documentation, the
# following units can be used:
# - K, k, Ki, KiB, kibibyte, kibibytes
# - M, m, Mi, MiB, mebibyte, mebibytes
# - G, g, Gi, GiB, gibibyte, gibibytes
#
# ie: fileSizeThreshold = "256 KiB"
fileSizeThreshold = "256 KiB"
# Specifies the location where temporary files will be stored.
# The default value is: null (default Java temporary folder)
tempFileLocation = null
# HTTP
http {
# The interface on which the server will listen for non-secure HTTP requests
listenHost = "127.0.0.1"
# The port on which the server will listen for non-secure HTTP requests
listenPort = 9000
}
# HTTPS
https {
# The interface on which the server will listen for HTTPS requests
listenHost = "127.0.0.1"
# The port on which the server will listen for HTTPS requests
listenPort = 9001
# SSL
ssl {
# Defines the name of the protocols to use.
#
# Default value is ["TLSv1.2", "TLSv1.3"]
protocols = ["TLSv1.2", "TLSv1.3"]
# Defines allowed ciphers. If list is empty, all ciphers will be allowed
#
# Default value is []
ciphers = []
# Defines the path where is located the key store. The value
# provided will be used in the following order:
# 1. getResource(...)
# 2. new URL(...)
# 3. new FileInputStream(...)
#
# If all attempts fail, the "FileNotFoundException" will be thrown
keyStorePath = null
# Defines the type of the key store
#
# Default value is "JKS"
keyStoreType = "JKS"
# Defines the password to use to open the key store
keyStorePassword = null
# Defines alias of the key to use. If "null" the key will be choosen automatically.
keyAlias = null;
# Defines key password
#
# Default value is ${voidframework.web.server.https.ssl.keyStorePassword}
keyPassword = ${voidframework.web.server.https.ssl.keyStorePassword}
}
}
}
}
}