feat: Support Bearer token for clients
All checks were successful
/ pre-commit (push) Successful in 1m39s

Fixes #13.

Signed-off-by: Julien Riou <julien@riou.xyz>
This commit is contained in:
Julien Riou 2025-08-26 17:31:44 +02:00
commit b45c3e3253
Signed by: jriou
GPG key ID: 9A099EDA51316854
4 changed files with 83 additions and 50 deletions

View file

@ -50,27 +50,23 @@ func handleMain() int {
if *configFileName != "" {
err = internal.ReadConfig(*configFileName, config)
if err != nil {
logger.Error("cannot parse configuration file", slog.Any("error", err))
return internal.RC_ERROR
return internal.ReturnError(logger, "could not parse configuration file", err)
}
logger.Debug("configuration file parsed", slog.Any("file", *configFileName))
}
if err = config.Check(); err != nil {
logger.Error("invalid configuration", slog.Any("error", err))
return internal.RC_ERROR
return internal.ReturnError(logger, "invalid configuration", err)
}
db, err := server.NewDatabase(logger, config)
if err != nil {
logger.Error("could not connect to the database", slog.Any("error", err))
return internal.RC_ERROR
return internal.ReturnError(logger, "could not connect to the database", err)
}
srv, err := server.NewServer(logger, db, config, AppVersion)
if err != nil {
logger.Error("could not create server", slog.Any("error", err))
return internal.RC_ERROR
return internal.ReturnError(logger, "could not create server", err)
}
srv.SetIDLength(config.IDLength)
@ -80,16 +76,14 @@ func handleMain() int {
reg := prometheus.NewRegistry()
metrics, err := server.NewMetrics(logger, reg, config, db)
if err != nil {
logger.Error("could not register metrics", slog.Any("error", err))
return internal.RC_ERROR
return internal.ReturnError(logger, "could not register metrics", err)
}
srv.SetMetrics(metrics)
}
err = srv.Start()
if err != nil {
logger.Error("could not start server", slog.Any("error", err))
return internal.RC_ERROR
return internal.ReturnError(logger, "could not start server", err)
}
return internal.RC_OK