]> Sergey Matveev's repositories - sgblog.git/blobdiff - cmd/sgblog/http.go
Simplify config read and arguments parsing
[sgblog.git] / cmd / sgblog / http.go
index 403b72111d4c667694e9bfa61339ba9b3a18df9d..d039ed38ec6b27b2964cc8811ac7904a6fce895f 100644 (file)
@@ -22,14 +22,12 @@ import (
        "compress/gzip"
        "crypto/sha1"
        "encoding/hex"
-       "encoding/json"
        "encoding/xml"
        "errors"
        "fmt"
        "hash"
        "html"
        "io"
-       "io/ioutil"
        "log"
        "net/url"
        "os"
@@ -40,7 +38,6 @@ import (
        "github.com/go-git/go-git/v5"
        "github.com/go-git/go-git/v5/plumbing"
        "github.com/go-git/go-git/v5/plumbing/object"
-       "github.com/hjson/hjson-go"
        "go.stargrave.org/sgblog"
        "go.stargrave.org/sgblog/cmd/sgblog/atom"
        "golang.org/x/crypto/blake2b"
@@ -159,11 +156,11 @@ Topics: {{range .Topics}}[<tt><a href="{{$Cfg.URLPrefix}}?topic={{.}}">{{.}}</a>
 
 var (
        renderableSchemes = map[string]struct{}{
-               "ftp":    struct{}{},
-               "gopher": struct{}{},
-               "http":   struct{}{},
-               "https":  struct{}{},
-               "telnet": struct{}{},
+               "ftp":    {},
+               "gopher": {},
+               "http":   {},
+               "https":  {},
+               "telnet": {},
        }
 )
 
@@ -260,22 +257,11 @@ func serveHTTP() {
        if cfgPath == "" {
                log.Fatalln("SGBLOG_CFG is not set")
        }
-       cfgRaw, err := ioutil.ReadFile(cfgPath)
+       cfg, err := readCfg(cfgPath)
        if err != nil {
-               makeErr(err)
-       }
-       var cfgGeneral map[string]interface{}
-       if err = hjson.Unmarshal(cfgRaw, &cfgGeneral); err != nil {
-               makeErr(err)
-       }
-       cfgRaw, err = json.Marshal(cfgGeneral)
-       if err != nil {
-               makeErr(err)
-       }
-       var cfg *Cfg
-       if err = json.Unmarshal(cfgRaw, &cfg); err != nil {
-               makeErr(err)
+               log.Fatalln(err)
        }
+
        pathInfo, exists := os.LookupEnv("PATH_INFO")
        if !exists {
                pathInfo = "/"
@@ -625,7 +611,7 @@ func serveHTTP() {
                        ))
                        commit, err = repo.CommitObject(commentedHash)
                        if err != nil {
-                               makeErr(err)
+                               continue
                        }
                        comments := parseComments(getNote(t, commentedHash))
                        if len(comments) == 0 {