Do major refactor of format code

This gets rid of a lot of duplicated logic that was previously
copy&pasted. This commit alos:
- Makes it easier to implement new formats
- Gets rid of a few bugs
- Makes the system more flexible (more options)
- Adds a lot of additional tests
This commit is contained in:
Lukas Kalbertodt
2022-10-19 17:12:32 +02:00
parent 44f59f415a
commit 6a9ccd4e22
12 changed files with 558 additions and 247 deletions

View File

@@ -5,7 +5,6 @@
# Required! This value must be specified.
#site_name =
# Configurations related to the HTTP communication.
[http]
# The port the server will listen on.
@@ -21,7 +20,6 @@
# Default value: "127.0.0.1"
#bind = "127.0.0.1"
[http.headers]
# The header in which the reverse proxy specifies the username.
#
@@ -33,7 +31,6 @@
# Default value: "x-display-name"
#display_name = "x-display-name"
# Configuring the logging.
[log]
# If set to `true`, the app will log to stdout.

View File

@@ -14,6 +14,12 @@ http:
# Required! This value must be specified.
#port:
# The bind address of the server. Can be set to `0.0.0.0` for example, to
# allow other users of the network to access the server.
#
# Default value: 127.0.0.1
#bind: 127.0.0.1
headers:
# The header in which the reverse proxy specifies the username.
#
@@ -25,12 +31,6 @@ http:
# Default value: x-display-name
#display_name: x-display-name
# The bind address of the server. Can be set to `0.0.0.0` for example, to
# allow other users of the network to access the server.
#
# Default value: 127.0.0.1
#bind: 127.0.0.1
# Configuring the logging.
log:
# If set to `true`, the app will log to stdout.

View File

@@ -0,0 +1,43 @@
# A sample configuration for our app.
# Name of the website.
#
# Required! This value must be specified.
#site_name =
# Configurations related to the HTTP communication.
[http]
# The port the server will listen on.
#
# Can also be specified via environment variable `PORT`.
#
# Required! This value must be specified.
#port =
# The bind address of the server. Can be set to `0.0.0.0` for example, to
# allow other users of the network to access the server.
#
# Default value: "127.0.0.1"
#bind = "127.0.0.1"
[http.headers]
# The header in which the reverse proxy specifies the username.
#
# Default value: "x-username"
#username = "x-username"
# The header in which the reverse proxy specifies the display name.
#
# Default value: "x-display-name"
#display_name = "x-display-name"
# Configuring the logging.
[log]
# If set to `true`, the app will log to stdout.
#
# Default value: true
#stdout = true
# If this is set, the app will write logs to the given file. Of course,
# the app has to have write access to that file.
#file =

View File

@@ -0,0 +1,46 @@
# A sample configuration for our app.
# Name of the website.
#
# Required! This value must be specified.
#site_name =
# Configurations related to the HTTP communication.
[http]
# The port the server will listen on.
#
# Can also be specified via environment variable `PORT`.
#
# Required! This value must be specified.
#port =
# The bind address of the server. Can be set to `0.0.0.0` for example, to
# allow other users of the network to access the server.
#
# Default value: "127.0.0.1"
#bind = "127.0.0.1"
[http.headers]
# The header in which the reverse proxy specifies the username.
#
# Default value: "x-username"
#username = "x-username"
# The header in which the reverse proxy specifies the display name.
#
# Default value: "x-display-name"
#display_name = "x-display-name"
# Configuring the logging.
[log]
# If set to `true`, the app will log to stdout.
#
# Default value: true
#stdout = true
# If this is set, the app will write logs to the given file. Of course,
# the app has to have write access to that file.
#file =

View File

@@ -1,10 +1,13 @@
#site_name:
http:
#port:
#bind: 127.0.0.1
headers:
#username: x-username
#display_name: x-display-name
#bind: 127.0.0.1
log:
#stdout: true
#file:

View File

@@ -0,0 +1,23 @@
# A sample configuration for our app.
[http]
[http.headers]
# The header in which the reverse proxy specifies the username.
#
# Default value: "x-username"
#username = "x-username"
# The header in which the reverse proxy specifies the display name.
#
# Default value: "x-display-name"
#display_name = "x-display-name"
[http.log]
# If set to `true`, the app will log to stdout.
#
# Default value: true
#stdout = true
# If this is set, the app will write logs to the given file. Of course,
# the app has to have write access to that file.
#file =

View File

@@ -0,0 +1,23 @@
# A sample configuration for our app.
http:
headers:
# The header in which the reverse proxy specifies the username.
#
# Default value: x-username
#username: x-username
# The header in which the reverse proxy specifies the display name.
#
# Default value: x-display-name
#display_name: x-display-name
log:
# If set to `true`, the app will log to stdout.
#
# Default value: true
#stdout: true
# If this is set, the app will write logs to the given file. Of course,
# the app has to have write access to that file.
#file: