diff --git a/app/config.go b/app/config.go index 3e4019f..dc86147 100644 --- a/app/config.go +++ b/app/config.go @@ -9,12 +9,14 @@ import ( type Config struct { Port int `json:"port"` EnableInitialRendering bool `json:"enableinitialrendering"` + Webdev bool `json:"webdev"` } func ParseConfig(filename string) (*Config, error) { cfg := Config{ Port: 8080, EnableInitialRendering: true, + Webdev: false, } info, err := os.Stat(filename) diff --git a/mapserver.json b/mapserver.json index 0967ef4..d33a5c9 100644 --- a/mapserver.json +++ b/mapserver.json @@ -1 +1,5 @@ -{} +{ + "port": 8080, + "enableinitialrendering": false, + "webdev": false +} diff --git a/static/index.html b/static/index.html new file mode 100644 index 0000000..9339e13 --- /dev/null +++ b/static/index.html @@ -0,0 +1 @@ +Root diff --git a/web/serve.go b/web/serve.go index 63e60f1..45ec943 100644 --- a/web/serve.go +++ b/web/serve.go @@ -1,27 +1,31 @@ package web import ( - "github.com/sirupsen/logrus" - "mapserver/app" - "net/http" - "strconv" - "fmt" + "fmt" + "github.com/sirupsen/logrus" + "mapserver/app" + "mapserver/vfs" + "net/http" + "strconv" ) -func Serve(ctx *app.App){ - fields := logrus.Fields{ - "port": ctx.Config.Port, - } - logrus.WithFields(fields).Info("Starting http server") +func Serve(ctx *app.App) { + fields := logrus.Fields{ + "port": ctx.Config.Port, + "webdev": ctx.Config.Webdev, + } + logrus.WithFields(fields).Info("Starting http server") - mux := http.NewServeMux() + mux := http.NewServeMux() - mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { - fmt.Fprint(w, "Welcome to my website!") - }) + mux.Handle("/", http.FileServer(vfs.FS(ctx.Config.Webdev))) - err := http.ListenAndServe(":" + strconv.Itoa(ctx.Config.Port), mux) - if err != nil { - panic(err) - } + mux.HandleFunc("/api", func(w http.ResponseWriter, r *http.Request) { + fmt.Fprint(w, "Api endpoint") + }) + + err := http.ListenAndServe(":"+strconv.Itoa(ctx.Config.Port), mux) + if err != nil { + panic(err) + } }