Christopher Ramey
3 years ago
4 changed files with 90 additions and 4 deletions
-
8api/command.go
-
44client/client.go
-
29main.go
-
13server/http.go
@ -0,0 +1,44 @@ |
|||
package client |
|||
|
|||
import ( |
|||
"git.binarythought.com/cdramey/alrm/api" |
|||
"git.binarythought.com/cdramey/alrm/config" |
|||
"net/http" |
|||
"net/url" |
|||
) |
|||
|
|||
func Shutdown(cfg *config.Config) error { |
|||
return doCommand(cfg, "shutdown") |
|||
} |
|||
|
|||
func Restart(cfg *config.Config) error { |
|||
return doCommand(cfg, "restart") |
|||
} |
|||
|
|||
func doCommand(cfg *config.Config, cm string) error { |
|||
aurl, err := url.Parse("http://" + cfg.Listen + "/api") |
|||
if err != nil { |
|||
return err |
|||
} |
|||
|
|||
cmd := api.NewCommand(cm) |
|||
err = cmd.Sign(cfg.APIKey) |
|||
if err != nil { |
|||
return err |
|||
} |
|||
cjson, err := cmd.JSON() |
|||
if err != nil { |
|||
return err |
|||
} |
|||
|
|||
params := url.Values{} |
|||
params.Add("cmd", string(cjson)) |
|||
|
|||
resp, err := http.PostForm(aurl.String(), params) |
|||
if err != nil { |
|||
return err |
|||
} |
|||
defer resp.Body.Close() |
|||
|
|||
return nil |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue