aboutsummaryrefslogtreecommitdiff
path: root/hook.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-12-18 15:01:39 +0100
committerDimitri Sokolyuk <demon@dim13.org>2015-12-18 15:01:39 +0100
commite3c7e4284f22f1975f7809bd23501e3529da8d12 (patch)
tree16c50ad1d1168d3e4de9c9a2e03051fd0c7a70e6 /hook.go
parent9afc7bda5c1ce76ade2bfd0c91e1bd1cbbceeb44 (diff)
Add hooker
Diffstat (limited to 'hook.go')
-rw-r--r--hook.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/hook.go b/hook.go
new file mode 100644
index 0000000..67dbf6a
--- /dev/null
+++ b/hook.go
@@ -0,0 +1,24 @@
+package acme
+
+import (
+ "log"
+ "os/exec"
+ "strings"
+)
+
+func execHook(s string) error {
+ cmd := strings.Fields(s)
+ return exec.Command(cmd[0], cmd[1:]...).Run()
+}
+
+func NewHooker() chan string {
+ h := make(chan string, 2)
+ go func() {
+ for hook := range h {
+ if err := execHook(hook); err != nil {
+ log.Println(hook, err)
+ }
+ }
+ }()
+ return h
+}