From 2d90d4e00a111ddf22440334d99323fe0d8216be Mon Sep 17 00:00:00 2001 From: René Neumann Date: Sat, 10 Feb 2024 18:46:39 +0100 Subject: First SQL setup --- main.go | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 main.go (limited to 'main.go') diff --git a/main.go b/main.go new file mode 100644 index 0000000..92ae59e --- /dev/null +++ b/main.go @@ -0,0 +1,54 @@ +package main + +import ( + "context" + "database/sql" + "flag" + "fmt" + "gosten/model" + "log" + "net" + "net/http" + "strconv" +) + +// flags +var ( + port uint64 + host string +) + +func init() { + flag.StringVar(&host, "h", "localhost", "address to listen on") + flag.Uint64Var(&port, "p", 8080, "port to listen on") +} + +func main() { + flag.Parse() + + db, err := sql.Open(driverName, "test.sqlite") + if err != nil { + log.Fatal(err) + } + + queries := model.New(db) + + helloHandler := func(w http.ResponseWriter, req *http.Request) { + fmt.Fprintln(w, "Hello, world!") + fmt.Fprintf(w, "Running on %s:%d\n", host, port) + + users, err := queries.GetUsers(context.Background()) + if err != nil { + log.Fatal(err) + } + + fmt.Fprintln(w, "\nUSERS") + for _, u := range users { + fmt.Fprintln(w, u.Name) + } + } + http.HandleFunc("/", helloHandler) + + address := net.JoinHostPort(host, strconv.FormatUint(port, 10)) + log.Fatal(http.ListenAndServe(address, nil)) +} -- cgit v1.2.3-54-g00ecf