X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;ds=sidebyside;f=fifos%2Fwarcs.go;h=4f7dcc209d471ed7e94422d71a84403024225141;hb=aca0f719ffa95e51420a625813f2f4cbf1d5397c;hp=ca8da6dc6c5c67c3b39392e107bed53489bfae6c;hpb=80f011b4e856b5598d17abb172687b228fac9641;p=tofuproxy.git diff --git a/fifos/warcs.go b/fifos/warcs.go index ca8da6d..4f7dcc2 100644 --- a/fifos/warcs.go +++ b/fifos/warcs.go @@ -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 This program is free software: you can redistribute it and/or modify @@ -19,7 +19,6 @@ along with this program. If not, see . 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 }