aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/conf/conf.go35
-rw-r--r--src/main.go19
2 files changed, 54 insertions, 0 deletions
diff --git a/src/conf/conf.go b/src/conf/conf.go
new file mode 100644
index 0000000..d135fcb
--- /dev/null
+++ b/src/conf/conf.go
@@ -0,0 +1,35 @@
+package conf
+
+import (
+ "log"
+ "os"
+ "github.com/BurntSushi/toml"
+)
+
+type Conf struct {
+ DbAdapter string `toml:"DB_ADAPTER"`
+ DbUser string `toml:"DB_USER"`
+ DbPassword string `toml:"DB_PASS"`
+}
+
+func Load() *Conf {
+
+ filepath := os.Getenv("NEWSSTAND_CONFIG_PATH")
+ if filepath == "" {
+ workingdir, err := os.Getwd()
+ if err != nil {
+ log.Fatal(err)
+ }
+ filepath = workingdir + "/.newsstandrc.toml"
+ }
+ log.Printf("Config file path: %s", filepath)
+
+ var c Conf
+ _, err := toml.DecodeFile(filepath, &c)
+ if err != nil {
+ log.Fatalln(err)
+ }
+ log.Println(c.DbAdapter)
+
+ return &c
+}
diff --git a/src/main.go b/src/main.go
new file mode 100644
index 0000000..3c2fe5e
--- /dev/null
+++ b/src/main.go
@@ -0,0 +1,19 @@
+package main
+
+import (
+ "net/http"
+ "gitlab.com/alexkavon/newsstand/conf"
+ "github.com/go-chi/chi/v5"
+ "github.com/go-chi/chi/v5/middleware"
+)
+
+func main() {
+ // load config
+ conf.Load()
+ r := chi.NewRouter()
+ r.Use(middleware.Logger)
+ r.Get("/", func(w http.ResponseWriter, r *http.Request) {
+ w.Write([]byte("Yello There!"))
+ })
+ http.ListenAndServe(":8080", r)
+}