41 lines
1.1 KiB
Go
41 lines
1.1 KiB
Go
package config
|
|
|
|
import "strings"
|
|
|
|
// This file contains domain related derived configuration values.
|
|
|
|
// HTTPSEnabled returns if the distillery has HTTPS enabled, and false otherwise.
|
|
func (cfg Config) HTTPSEnabled() bool {
|
|
return cfg.CertbotEmail != ""
|
|
}
|
|
|
|
// IfHttps returns value when the distillery has https enabled, and the empty string otherwise.
|
|
func (cfg Config) IfHttps(value string) string {
|
|
if !cfg.HTTPSEnabled() {
|
|
return ""
|
|
}
|
|
return value
|
|
}
|
|
|
|
// DefaultHost returns the default hostname for the distillery.
|
|
//
|
|
// This consists of the [DefaultDomain] as well as [ExtraDomains].
|
|
// Domain names are concatinated with commas.
|
|
func (cfg Config) DefaultHost() string {
|
|
var builder strings.Builder
|
|
|
|
builder.WriteString(cfg.DefaultDomain)
|
|
for _, domain := range cfg.SelfExtraDomains {
|
|
builder.WriteRune(',')
|
|
builder.WriteString(domain)
|
|
}
|
|
|
|
return builder.String()
|
|
}
|
|
|
|
// DefaultSSLHost returns the default hostname for the ssl version of the distillery.
|
|
//
|
|
// This is exactly [DefaultHost] when SSL is enabled, and the empty string otherwise.
|
|
func (cfg Config) DefaultSSLHost() string {
|
|
return cfg.IfHttps(cfg.DefaultHost())
|
|
}
|