refactor: simplify.
This commit is contained in:
parent
5b6b959074
commit
a356fe3980
@ -72,51 +72,20 @@ func watch(acmeFile string, baseConfig *dumper.BaseConfig) error {
|
|||||||
log.Println("event:", event)
|
log.Println("event:", event)
|
||||||
}
|
}
|
||||||
|
|
||||||
switch {
|
hash, errW := manageEvent(watcher, event, acmeFile, previousHash, baseConfig)
|
||||||
case event.Op&fsnotify.Rename == fsnotify.Rename:
|
|
||||||
errW := watcher.Remove(acmeFile)
|
|
||||||
if errW != nil {
|
if errW != nil {
|
||||||
log.Println("error:", errW)
|
log.Println("error:", errW)
|
||||||
done <- true
|
done <- true
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
errW = watcher.Add(acmeFile)
|
|
||||||
if errW != nil {
|
|
||||||
log.Println("error:", errW)
|
|
||||||
done <- true
|
|
||||||
return
|
|
||||||
}
|
|
||||||
fallthrough
|
|
||||||
case event.Op&fsnotify.Write == fsnotify.Write:
|
|
||||||
hash, errH := calculateHash(acmeFile)
|
|
||||||
if err != nil {
|
|
||||||
log.Println("error:", errH)
|
|
||||||
done <- true
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if !bytes.Equal(previousHash, hash) {
|
|
||||||
previousHash = hash
|
previousHash = hash
|
||||||
|
|
||||||
if strings.EqualFold(os.Getenv("TCD_DEBUG"), "true") {
|
|
||||||
log.Println("detected changes on file:", event.Name)
|
|
||||||
}
|
|
||||||
|
|
||||||
if errD := dump(acmeFile, baseConfig); errD != nil {
|
|
||||||
log.Println("error:", errD)
|
|
||||||
done <- true
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
log.Println("Dumped new certificate data.")
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
case errW, ok := <-watcher.Errors:
|
case errW, ok := <-watcher.Errors:
|
||||||
if !ok {
|
if !ok {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Println("error:", errW)
|
log.Println("error:", errW)
|
||||||
done <- true
|
done <- true
|
||||||
return
|
return
|
||||||
@ -134,6 +103,39 @@ func watch(acmeFile string, baseConfig *dumper.BaseConfig) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func manageEvent(watcher *fsnotify.Watcher, event fsnotify.Event, acmeFile string, previousHash []byte, baseConfig *dumper.BaseConfig) ([]byte, error) {
|
||||||
|
if event.Op&fsnotify.Rename == fsnotify.Rename {
|
||||||
|
err := watcher.Remove(acmeFile)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = watcher.Add(acmeFile)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
hash, err := calculateHash(acmeFile)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if !bytes.Equal(previousHash, hash) {
|
||||||
|
if strings.EqualFold(os.Getenv("TCD_DEBUG"), "true") {
|
||||||
|
log.Println("detected changes on file:", event.Name)
|
||||||
|
}
|
||||||
|
|
||||||
|
if errD := dump(acmeFile, baseConfig); errD != nil {
|
||||||
|
return nil, errD
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Println("Dumped new certificate data.")
|
||||||
|
}
|
||||||
|
|
||||||
|
return hash, nil
|
||||||
|
}
|
||||||
|
|
||||||
func calculateHash(acmeFile string) ([]byte, error) {
|
func calculateHash(acmeFile string) ([]byte, error) {
|
||||||
file, err := os.Open(acmeFile)
|
file, err := os.Open(acmeFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user