diff --git a/cmd/server/main.go b/cmd/server/main.go index d8bb9b4..176237c 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -2,6 +2,7 @@ package main import ( "encoding/json" + "flag" "fmt" "log" "net/http" @@ -10,6 +11,12 @@ import ( "willnorris.com/go/microformats" ) +var port int + +func init() { + flag.IntVar(&port, "port", 80, "port for serving api") +} + type microsubHandler struct { Backend microsub.Microsub } @@ -196,9 +203,25 @@ func (h *microsubHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { } func main() { - backend := loadMemoryBackend() - //backend := createMemoryBackend() + flag.Parse() + + createBackend := false + args := flag.Args() + + if len(args) >= 1 { + if args[0] == "new" { + createBackend = true + } + } + + var backend microsub.Microsub + + if createBackend { + backend = createMemoryBackend() + } else { + backend = loadMemoryBackend() + } http.Handle("/microsub", µsubHandler{backend}) - log.Fatal(http.ListenAndServe(":80", nil)) + log.Fatal(http.ListenAndServe(fmt.Sprintf(":%d", port), nil)) }