]> Sergey Matveev's repositories - tofuproxy.git/blob - fifos/start.go
a005c640036e5503054ef7e9aa52738f5736be81
[tofuproxy.git] / fifos / start.go
1 package fifos
2
3 import (
4         "path/filepath"
5
6         "go.stargrave.org/tofuproxy/caches"
7 )
8
9 func Start(fifos string) {
10         go logger(LogCert, filepath.Join(fifos, "log-cert"))
11         go logger(LogDANE, filepath.Join(fifos, "log-dane"))
12         go logger(LogErr, filepath.Join(fifos, "log-err"))
13         go logger(LogHTTPAuth, filepath.Join(fifos, "log-http-auth"))
14         go logger(LogNonOK, filepath.Join(fifos, "log-non-ok"))
15         go logger(LogOK, filepath.Join(fifos, "log-ok"))
16         go logger(LogRedir, filepath.Join(fifos, "log-redir"))
17         go logger(LogReq, filepath.Join(fifos, "log-req"))
18         go logger(LogTLS, filepath.Join(fifos, "log-tls"))
19         go logger(LogTLSAuth, filepath.Join(fifos, "log-tls-auth"))
20         go logger(LogVarious, filepath.Join(fifos, "log-various"))
21
22         go listAccepted(filepath.Join(fifos, "list-accepted"))
23         go listHTTPAuth(filepath.Join(fifos, "list-http-auth"))
24         go listRejected(filepath.Join(fifos, "list-rejected"))
25         go listSpies(filepath.Join(fifos, "list-spies"))
26         go listTLSAuth(filepath.Join(fifos, "list-tls-auth"))
27
28         go del(
29                 &caches.AcceptedM, func(host string) { delete(caches.Accepted, host) },
30                 filepath.Join(fifos, "del-accepted"),
31         )
32         go del(
33                 &caches.HTTPAuthCacheM, func(host string) { delete(caches.HTTPAuthCache, host) },
34                 filepath.Join(fifos, "del-http-auth"),
35         )
36         go del(
37                 &caches.RejectedM, func(host string) { delete(caches.Rejected, host) },
38                 filepath.Join(fifos, "del-rejected"),
39         )
40         go del(
41                 &caches.TLSAuthCacheM, func(host string) { delete(caches.TLSAuthCache, host) },
42                 filepath.Join(fifos, "del-tls-auth"),
43         )
44
45         go addSpy(filepath.Join(fifos, "add-spies"))
46         go del(
47                 &caches.SpiesM, func(host string) {
48                         for i, spy := range caches.Spies {
49                                 if spy == host {
50                                         caches.Spies[i] = caches.Spies[len(caches.Spies)-1]
51                                         caches.Spies = caches.Spies[:len(caches.Spies)-1]
52                                         return
53                                 }
54                         }
55                 },
56                 filepath.Join(fifos, "del-spies"),
57         )
58 }