This commit is contained in:
WJQSERVER 2024-10-11 10:25:33 +08:00
parent 6864925dbe
commit 69d4d53a51
8 changed files with 102 additions and 16 deletions

View file

@ -1,12 +1,10 @@
package config
import (
"os"
"gopkg.in/yaml.v3"
"github.com/BurntSushi/toml"
)
type Config struct {
/*type Config struct {
Server struct {
Port int `yaml:"port"`
Host string `yaml:"host"`
@ -54,4 +52,52 @@ func loadYAML(filePath string, out interface{}) error {
return err
}
return yaml.Unmarshal(data, out)
}*/
type Config struct {
Server ServerConfig
Log LoggerConfig
CORS CORSConfig
Auth AuthConfig
Blacklist BlacklistConfig
Whitelist WhitelistConfig
}
type ServerConfig struct {
Port int `toml:"port"`
Host string `toml:"host"`
SizeLimit int `toml:"sizelimit"`
}
type LoggerConfig struct {
LogFilePath string `toml:"logfilepath"`
MaxLogSize int `toml:"maxlogsize"`
}
type CORSConfig struct {
Enabled bool `toml:"enabled"`
}
type AuthConfig struct {
Enabled bool `toml:"enabled"`
AuthToken string `toml:"authtoken"`
}
type BlacklistConfig struct {
Enabled bool `toml:"enabled"`
BlacklistFile string `toml:"blacklistfile"`
}
type WhitelistConfig struct {
Enabled bool `toml:"enabled"`
WhitelistFile string `toml:"whitelistfile"`
}
// LoadConfig 从 TOML 配置文件加载配置
func LoadConfig(filePath string) (*Config, error) {
var config Config
if _, err := toml.DecodeFile(filePath, &config); err != nil {
return nil, err
}
return &config, nil
}