Skip to content

Commit 54c6396

Browse files
committed
handler improvements for retrieving server-settings.json file
1 parent 5f110aa commit 54c6396

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

src/handlers.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -976,5 +976,31 @@ func UpdateServerSettings(w http.ResponseWriter, r *http.Request) {
976976
return
977977
}
978978
log.Printf("Received settings JSON: %s", body)
979+
980+
err = json.Unmarshal(body, &FactorioServ.Settings)
981+
if err != nil {
982+
log.Printf("Error unmarshaling server settings JSON: %s", err)
983+
resp.Data = fmt.Sprintf("Error in updating settings: %s", err)
984+
resp.Success = false
985+
if err := json.NewEncoder(w).Encode(resp); err != nil {
986+
log.Printf("Error encoding server settings response: %s", err)
987+
}
988+
return
989+
}
990+
991+
settings, err := json.MarshalIndent(&FactorioServ.Settings, "", " ")
992+
if err != nil {
993+
log.Printf("Failed to marshal server settings: %s", err)
994+
return
995+
} else {
996+
ioutil.WriteFile(filepath.Join(config.FactorioDir, "server-settings.json"), settings, 0644)
997+
log.Printf("Saved Factorio server settings in server-settings.json")
998+
}
999+
1000+
resp.Success = true
1001+
resp.Data = fmt.Sprintf("Settings successfully saved: %s", &FactorioServ.Settings)
1002+
if err := json.NewEncoder(w).Encode(resp); err != nil {
1003+
log.Printf("Error in sending server settings response: %s", err)
1004+
}
9791005
}
9801006
}

0 commit comments

Comments
 (0)