package server_api import ( "encoding/json" "net/http" "git.ohea.xyz/mediasrv/server/filesystem" "github.com/op/go-logging" ) var log = logging.MustGetLogger("mediasrv-server") func SetupHTTPServer(mux *http.ServeMux, data_dir string) { mux.HandleFunc("/server/files", func(w http.ResponseWriter, r *http.Request) { filesHandler(data_dir, w, r) }) } func filesHandler(rootDir string, w http.ResponseWriter, r *http.Request) { log.Debugf("/server/files called") return_json, err := filesystem.GetFilesystem(rootDir) if err != nil { log.Errorf("Could not get filsystem data: %v", err) return } data, err := json.MarshalIndent(return_json, "", "\t") if err != nil { log.Errorf("Could not marshal data: %v\n", err) return } w.Write(data) }