mirror of
https://github.com/giongto35/cloud-game.git
synced 2026-01-23 18:46:11 +00:00
66 lines
1.5 KiB
Go
66 lines
1.5 KiB
Go
package config
|
|
|
|
import "flag"
|
|
|
|
type Version int
|
|
|
|
type Library struct {
|
|
// filename of the alias' file
|
|
AliasFile string
|
|
// some directory which is going to be
|
|
// the root folder for the library
|
|
BasePath string
|
|
// a list of supported file extensions
|
|
Supported []string
|
|
// a list of ignored words in the files
|
|
Ignored []string
|
|
// print some additional info
|
|
Verbose bool
|
|
// enable directory changes watch
|
|
WatchMode bool
|
|
}
|
|
|
|
func (l Library) GetSupportedExtensions() []string { return l.Supported }
|
|
|
|
type Monitoring struct {
|
|
Port int
|
|
URLPrefix string
|
|
MetricEnabled bool `json:"metric_enabled"`
|
|
ProfilingEnabled bool `json:"profiling_enabled"`
|
|
}
|
|
|
|
func (c *Monitoring) IsEnabled() bool { return c.MetricEnabled || c.ProfilingEnabled }
|
|
|
|
type Server struct {
|
|
Address string
|
|
CacheControl string
|
|
FrameOptions string
|
|
Https bool
|
|
Tls struct {
|
|
Address string
|
|
Domain string
|
|
HttpsKey string
|
|
HttpsCert string
|
|
}
|
|
}
|
|
|
|
type Recording struct {
|
|
Enabled bool
|
|
Name string
|
|
Folder string
|
|
Zip bool
|
|
}
|
|
|
|
func (s *Server) WithFlags() {
|
|
flag.StringVar(&s.Address, "address", s.Address, "HTTP server address (host:port)")
|
|
flag.StringVar(&s.Tls.Address, "httpsAddress", s.Tls.Address, "HTTPS server address (host:port)")
|
|
flag.StringVar(&s.Tls.HttpsKey, "httpsKey", s.Tls.HttpsKey, "HTTPS key")
|
|
flag.StringVar(&s.Tls.HttpsCert, "httpsCert", s.Tls.HttpsCert, "HTTPS chain")
|
|
}
|
|
|
|
func (s *Server) GetAddr() string {
|
|
if s.Https {
|
|
return s.Tls.Address
|
|
}
|
|
return s.Address
|
|
}
|