Changes
1 changed files (+14/-7)
-
-
@@ -79,12 +79,20 @@ Port uint `short:"p" help:"TCP port to bind." default:"8765"`Host string `short:"h" help:"Network host to bind. Not including port." default:"localhost"` } const ( exit_ok = iota exit_err exit_db_err exit_core_init_err exit_http_server_err ) func run() int { ctx := kong.Parse(&cli, kong.NoDefaultHelp()) if cli.Help { kong.DefaultHelpPrinter(kong.HelpOptions{}, ctx) return 0 return exit_ok } logLevel := slog.LevelInfo
-
@@ -107,19 +115,19 @@db, err := sql.Open("sqlite", ":memory:") if err != nil { logger.Error("Failed to open database", "error", err) return 2 return exit_db_err } defer db.Close() core, err := core.New(db, logger) if err != nil { logger.Error("Failed to create core instance", "error", err) return 3 return exit_core_init_err } if err := core.Init(cli.AdminCreationPassword, cli.OverwriteJwtSecret); err != nil { logger.Error("Failed to prepare application core", "error", err) return 4 return exit_core_init_err } mux := services.Mux(core)
-
@@ -128,13 +136,12 @@ addr := fmt.Sprintf("%s:%d", cli.Host, cli.Port)logger.Info("Starting HTTP server", "address", fmt.Sprintf("http://%s", addr)) if err := http.ListenAndServe(addr, h2c.NewHandler(mux, &http2.Server{})); err != nil { logger.Error("Failed to listen and server", "error", err) return 5 return exit_http_server_err } return 0 return exit_ok } // TODO: エラーコードを定義する func main() { os.Exit(run()) }
-