diff --git a/gohttp.go b/gohttp.go index c893486..1f97694 100644 --- a/gohttp.go +++ b/gohttp.go @@ -5,6 +5,7 @@ import ( "net/http" "os" "path/filepath" + "strings" "git.pyer.club/kingecg/gohttpd/admin" "git.pyer.club/kingecg/gohttpd/model" @@ -113,16 +114,27 @@ func LoadConfig() { configs, err := filepath.Glob(model.Config.IncludDir + "/*.json") if err == nil { for _, config := range configs { - server := model.HttpServerConfig{} + // read config content and unmarshal content, err := os.ReadFile(config) if err == nil { - err = json.Unmarshal(content, &server) - if err == nil { - server.ConfPath = config - normalizeServer(&server) - model.Config.Servers = append(model.Config.Servers, &server) + decoder := json.NewDecoder(strings.NewReader(string(content))) + for decoder.More() { + server := model.HttpServerConfig{} + err = decoder.Decode(&server) + if err == nil { + server.ConfPath = config + normalizeServer(&server) + model.Config.Servers = append(model.Config.Servers, &server) + } else { + break + } } + // if err == nil { + // server.ConfPath = config + // normalizeServer(&server) + + // } } } } diff --git a/include/www.a.com.json b/include/www.a.com.json index a093e9d..1117398 100644 --- a/include/www.a.com.json +++ b/include/www.a.com.json @@ -10,4 +10,17 @@ "default": "index.html" } ] +} +{ + "name": "ahttp", + "server": ["www.a.com"], + "port": 8089, + "enable_ssl":false, + "paths": [ + { + "path": "/", + "root": "./example", + "default": "index.html" + } + ] } \ No newline at end of file