rework the configuration and program flag setting system
Signed-off-by: kim (grufwub) <grufwub@gmail.com>master
parent
5ad8a97721
commit
c45d62899c
@ -0,0 +1,49 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"regexp"
|
||||
"log"
|
||||
)
|
||||
|
||||
type ServerConfig struct {
|
||||
/* Base settings */
|
||||
RootDir string
|
||||
Hostname string
|
||||
Port string
|
||||
|
||||
/* Caps.txt information */
|
||||
Description string
|
||||
AdminEmail string
|
||||
Geolocation string
|
||||
|
||||
/* Content settings */
|
||||
PageWidth int
|
||||
RestrictedFiles []*regexp.Regexp
|
||||
|
||||
/* Logging */
|
||||
SystemLogger *log.Logger
|
||||
AccessLogger *log.Logger
|
||||
|
||||
/* Cache */
|
||||
FileCache *FileCache
|
||||
}
|
||||
|
||||
func (config *ServerConfig) LogSystem(fmt string, args ...interface{}) {
|
||||
config.SystemLogger.Printf(":: I :: "+fmt, args...)
|
||||
}
|
||||
|
||||
func (config *ServerConfig) LogSystemError(fmt string, args ...interface{}) {
|
||||
config.SystemLogger.Printf(":: E :: "+fmt, args...)
|
||||
}
|
||||
|
||||
func (config *ServerConfig) LogSystemFatal(fmt string, args ...interface{}) {
|
||||
config.SystemLogger.Fatalf(":: F :: "+fmt, args...)
|
||||
}
|
||||
|
||||
func (config *ServerConfig) LogAccess(sourceAddr, fmt string, args ...interface{}) {
|
||||
config.AccessLogger.Printf(":: I :: ("+sourceAddr+") "+fmt, args...)
|
||||
}
|
||||
|
||||
func (config *ServerConfig) LogAccessError(sourceAddr, fmt string, args ...interface{}) {
|
||||
config.AccessLogger.Printf(":: E :: ("+sourceAddr+") "+fmt, args...)
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
)
|
||||
|
||||
var (
|
||||
/* Base server settings */
|
||||
ServerRoot = flag.String("root", "/var/gopher", "Change server root directory.")
|
||||
ServerHostname = flag.String("hostname", "127.0.0.1", "Change server hostname (FQDN).")
|
||||
ServerPort = flag.Int("port", 70, "Change server port (0 to disable unencrypted traffic).")
|
||||
ServerBindAddr = flag.String("bind-addr", "127.0.0.1", "Change server socket bind address")
|
||||
ExecAsUid = flag.Int("uid", 1000, "Change UID to drop executable privileges to.")
|
||||
ExecAsGid = flag.Int("gid", 100, "Change GID to drop executable privileges to.")
|
||||
|
||||
/* User supplied caps.txt information */
|
||||
ServerDescription = flag.String("description", "Gophor: a Gopher server in GoLang", "Change server description in auto-generated caps.txt.")
|
||||
ServerAdmin = flag.String("admin-email", "", "Change admin email in auto-generated caps.txt.")
|
||||
ServerGeoloc = flag.String("geoloc", "", "Change server gelocation string in auto-generated caps.txt.")
|
||||
|
||||
/* Content settings */
|
||||
PageWidth = flag.Int("page-width", 80, "Change page width used when formatting output.")
|
||||
RestrictedFiles = flag.String("restrict-files", "", "New-line separated list of regex statements restricting files from showing in directory listings.")
|
||||
|
||||
/* Logging settings */
|
||||
SystemLog = flag.String("system-log", "", "Change server system log file (blank outputs to stderr).")
|
||||
AccessLog = flag.String("access-log", "", "Change server access log file (blank outputs to stderr).")
|
||||
LoggingType = flag.Int("log-type", 0, "Change server log file handling -- 0:default 1:disable")
|
||||
|
||||
/* Cache settings */
|
||||
CacheCheckFreq = flag.String("cache-check", "60s", "Change file cache freshness check frequency.")
|
||||
CacheSize = flag.Int("cache-size", 50, "Change file cache size, measured in file count.")
|
||||
CacheFileSizeMax = flag.Float64("cache-file-max", 0.5, "Change maximum file size to be cached (in megabytes).")
|
||||
)
|
Loading…
Reference in New Issue