Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateConfig ¶
func CreateConfig()
CreateConfig initiates the configuration creation process by collecting user input for various configuration values and then writes the configuration file to disk if successful, otherwise panics.
func CreateDebugConfig ¶
func CreateDebugConfig()
CreateDebugConfig creates the configuration file that is used when running the applciation in debug mode.
func CreateTestConfig ¶
func CreateTestConfig()
CreateTestConfig creates the configuration that is used when running automated testing.
func InitConfig ¶
func InitConfig()
InitConfig reads the configuration file from disk and if successful, sets the application wide-configuration. Otherwise, it will panic.
Types ¶
type Cfg ¶
type Cfg struct { LogConfig CfgLog `json:"logConfig"` SteamConfig CfgSteam `json:"steamConfig"` WebConfig CfgWeb `json:"webConfig"` DebugConfig CfgDebug `json:"debugConfig"` }
Cfg represents logging, steam-related, and API-related options.
var Config *Cfg
Config represents the application-wide configuration.
type CfgDebug ¶
type CfgDebug struct { // stdout "debug" msgs EnableDebugMessages bool `json:"debugMessages"` // dump server JSON to disk EnableServerDump bool `json:"dumpServers"` // use a pre-defined server JSON file as the master list for API (for testing) ServerDumpFileAsMasterList bool `json:"useServerDumpAsMaster"` // name of the pre-defined server JSON file to use as master list ServerDumpFilename string `json:"serverDumpFilename"` }
CfgDebug represents options for debugging and development.
type CfgLog ¶
type CfgLog struct { EnableAppLogging bool `json:"enableAppLogging"` EnableSteamLogging bool `json:"enableSteamLogging"` EnableWebLogging bool `json:"enableWebLogging"` MaximumLogSize int64 `json:"maxLogFilesize"` MaximumLogCount int `json:"maxLogCount"` }
CfgLog represents logging-related configuration options.
type CfgSteam ¶
type CfgSteam struct { AutoQueryMaster bool `json:"timedMasterServerQuery"` SteamWebAPIKey string `json:"steamWebAPIKey"` UseWebServerList bool `json:"useWebServerList"` AutoQueryGame string `json:"gameForTimedMasterQuery"` TimeBetweenMasterQueries int `json:"timeBetweenMasterQueries"` MaximumHostsToReceive int `json:"maxHostsToReceive"` }
CfgSteam represents Steam-related configuration options.
type CfgWeb ¶
type CfgWeb struct { AllowDirectUserQueries bool `json:"allowDirectUserQueries"` APIWebPort int `json:"apiWebPort"` APIWebTimeout int `json:"apiWebTimeout"` CompressResponses bool `json:"compressResponses"` MaximumHostsPerAPIQuery int `json:"maxHostsPerAPIQuery"` }
CfgWeb represents web-related API configuration options.