]> Sergey Matveev's repositories - tofuproxy.git/blobdiff - fifos/warcs.go
Various refactoring
[tofuproxy.git] / fifos / warcs.go
index ca8da6dc6c5c67c3b39392e107bed53489bfae6c..4f7dcc209d471ed7e94422d71a84403024225141 100644 (file)
@@ -1,6 +1,6 @@
 /*
-tofuproxy -- flexible HTTP proxy, TLS terminator, X.509 certificates
-             manager, WARC/Gemini browser
+tofuproxy -- flexible HTTP/HTTPS proxy, TLS terminator, X.509 TOFU
+             manager, WARC/geminispace browser
 Copyright (C) 2021 Sergey Matveev <stargrave@stargrave.org>
 
 This program is free software: you can redistribute it and/or modify
@@ -19,7 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 package fifos
 
 import (
-       "bufio"
        "fmt"
        "log"
        "os"
@@ -47,22 +46,9 @@ func listWARCs(p string) {
 
 func addWARC(p string) {
        for {
-               fd, err := os.OpenFile(p, os.O_RDONLY, os.FileMode(0666))
-               if err != nil {
-                       log.Fatalln(err)
-               }
-               var warcPaths []string
-               scanner := bufio.NewScanner(fd)
-               for scanner.Scan() {
-                       t := scanner.Text()
-                       if len(t) > 0 {
-                               warcPaths = append(warcPaths, t)
-                       }
-               }
-               fd.Close()
-               for _, warcPath := range warcPaths {
+               for _, warcPath := range readLinesFromFIFO(p) {
                        if warcPath == "SAVE" {
-                               if err = warc.SaveIndexes(); err != nil {
+                               if err := warc.SaveIndexes(); err != nil {
                                        log.Printf("%s: can not save index %s: %+v\n", p, warcPath, err)
                                }
                                continue
@@ -71,8 +57,7 @@ func addWARC(p string) {
                                continue
                        }
                        log.Printf("%s: adding WARC %s\n", p, warcPath)
-                       err = warc.Add(warcPath)
-                       if err != nil {
+                       if err := warc.Add(warcPath); err != nil {
                                log.Printf("%s: can not open %s: %+v\n", p, warcPath, err)
                                break
                        }