restructuring, config and readme
This commit is contained in:
52
backend/cmd/main.go
Normal file
52
backend/cmd/main.go
Normal file
@ -0,0 +1,52 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
|
||||
"git.schreifuchs.ch/schreifuchs/ng-blog/backend/internal/config"
|
||||
"git.schreifuchs.ch/schreifuchs/ng-blog/backend/internal/initialize"
|
||||
|
||||
"go-simpler.org/env"
|
||||
)
|
||||
|
||||
const HELP = "expected 'serve' or 'help' subcommands"
|
||||
|
||||
var ENV_OPTS = &env.Options{NameSep: "_"}
|
||||
|
||||
func main() {
|
||||
if len(os.Args) < 2 {
|
||||
fmt.Println(HELP)
|
||||
return
|
||||
}
|
||||
switch os.Args[1] {
|
||||
case "serve":
|
||||
serve()
|
||||
case "help":
|
||||
help()
|
||||
default:
|
||||
fmt.Println(HELP)
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
|
||||
func serve() {
|
||||
cfg := config.Default()
|
||||
|
||||
if err := env.Load(cfg, ENV_OPTS); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
log.Println("config loaded")
|
||||
|
||||
mux := initialize.CreateMux(cfg)
|
||||
if err := http.ListenAndServe(fmt.Sprintf(":%d", cfg.Port), mux); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func help() {
|
||||
env.Usage(config.Default(), os.Stdout, ENV_OPTS)
|
||||
os.Exit(0)
|
||||
}
|
Reference in New Issue
Block a user