1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package main
- import (
- "flag"
- "fmt"
- "net/http"
- "os"
- "time"
- "github.com/tylerb/graceful"
- "git.lattuga.net/boyska/megauploader"
- )
- func main() {
- dump := flag.Bool("dump", false, "Do not run; dump the configuration as it is loaded instead")
- cfgfile := flag.String("cfg", "/etc/megauploader/config.yaml", "Location of the configuration file")
- addr := flag.String("addr", "localhost:8000", "Listen address")
- flag.Parse()
- cfg, err := megauploader.ParseConf(*cfgfile)
- if err != nil {
- fmt.Fprintln(os.Stderr, err)
- os.Exit(1)
- }
- if errs := cfg.Validate(); len(errs) > 0 {
- fmt.Fprintln(os.Stderr, "Configuration errors:")
- for _, e := range errs {
- fmt.Fprintln(os.Stderr, " -", e)
- }
- os.Exit(1)
- }
- if *dump {
- fmt.Println(cfg.Pretty())
- os.Exit(0)
- }
- mu := megauploader.MegaUploader{Conf: cfg}
- mu.SetupRoutes()
- graceful.Run(*addr, 15*time.Second, http.DefaultServeMux)
- }
|