~xenrox/10man-api

a36f92009e78ae2188c3202ddfc0f2eee3d01ab3 — Thorben Günther 1 year, 6 months ago 0f2a030
Switch to own logging package
3 files changed, 13 insertions(+), 8 deletions(-)

M go.mod
M go.sum
M server.go
M go.mod => go.mod +1 -0
@@ 4,6 4,7 @@ go 1.17

require (
	git.sr.ht/~emersion/go-scfg v0.0.0-20211215104734-c2c7a15d6c99
	git.xenrox.net/~xenrox/go-log v0.0.0-20221012231312-9e7356c29b74
	github.com/99designs/gqlgen v0.17.20
	github.com/lib/pq v1.10.7
	github.com/vektah/gqlparser/v2 v2.5.1

M go.sum => go.sum +2 -0
@@ 1,5 1,7 @@
git.sr.ht/~emersion/go-scfg v0.0.0-20211215104734-c2c7a15d6c99 h1:1s8n5uisqkR+BzPgaum6xxIjKmzGrTykJdh+Y3f5Xao=
git.sr.ht/~emersion/go-scfg v0.0.0-20211215104734-c2c7a15d6c99/go.mod h1:t+Ww6SR24yYnXzEWiNlOY0AFo5E9B73X++10lrSpp4U=
git.xenrox.net/~xenrox/go-log v0.0.0-20221012231312-9e7356c29b74 h1:t/52xLRU4IHd2O1nkb9fcUE6K95/KdBtdQYHT31szps=
git.xenrox.net/~xenrox/go-log v0.0.0-20221012231312-9e7356c29b74/go.mod h1:d98WFDHGpxaEThKue5CfGtr9OrWgbaApprt3GH+OM4s=
github.com/99designs/gqlgen v0.17.20 h1:O7WzccIhKB1dm+7g6dhQcULINftfiLSBg2l/mwbpJMw=
github.com/99designs/gqlgen v0.17.20/go.mod h1:Mja2HI23kWT1VRH09hvWshFgOzKswpO20o4ScpJIES4=
github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=

M server.go => server.go +10 -8
@@ 2,7 2,6 @@ package main

import (
	"flag"
	"log"
	"net/http"
	"os"
	"os/signal"


@@ 12,6 11,7 @@ import (
	"git.xenrox.net/~xenrox/10man-api/database"
	"git.xenrox.net/~xenrox/10man-api/graph"
	"git.xenrox.net/~xenrox/10man-api/graph/generated"
	"git.xenrox.net/~xenrox/go-log"
	"github.com/99designs/gqlgen/graphql/handler"
)



@@ 23,14 23,16 @@ func main() {
	sigs := make(chan os.Signal, 1)
	signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)

	logger := log.NewDefaultLogger()

	cfg, err := config.ReadConfig(configPath)
	if err != nil {
		log.Fatalf("config: %v", err)
		logger.Fatalf("config: %v", err)
	}

	db, err := database.Open(cfg.DBConnectionString)
	if err != nil {
		log.Fatal(err)
		logger.Fatal(err)
	}

	srv := handler.NewDefaultServer(generated.NewExecutableSchema(generated.Config{


@@ 43,15 45,15 @@ func main() {
	http.Handle("/query", srv)

	go func() {
		log.Fatal(http.ListenAndServe(":"+cfg.Port, nil))
		logger.Fatal(http.ListenAndServe(":"+cfg.Port, nil))
	}()

	shutdown(<-sigs, db)
	shutdown(<-sigs, db, logger)
}

func shutdown(sig os.Signal, db *database.DB) {
func shutdown(sig os.Signal, db *database.DB, logger *log.Logger) {
	if err := db.DB.Close(); err != nil {
		log.Fatalf("shutdown: %v", err)
		logger.Fatalf("shutdown: %v", err)
	}
	log.Println("API was shut down")
	logger.Info("API was shut down")
}