From b958e57979f1df70f9cfc9e7fd5bac3c5290bfbc Mon Sep 17 00:00:00 2001 From: Amrit Panesar Date: Wed, 2 Sep 2015 13:44:31 -0700 Subject: [PATCH] working client and example Signed-off-by: Amrit Panesar --- _example/example.go | 57 +++++++++++++++++++++++++++++++++++++++++++++ client.go | 15 +++++++++++- 2 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 _example/example.go diff --git a/_example/example.go b/_example/example.go new file mode 100644 index 0000000..7672bfd --- /dev/null +++ b/_example/example.go @@ -0,0 +1,57 @@ +package main + +import ( + "fmt" + "log" + "strconv" + + client "github.com/Neo-Desktop/go-pushover-client" +) + +var ( + key string + device string + message string + priority string + err error + i int64 +) + +func main() { + fmt.Printf("%s\n:", "Please enter your application key") + + _, err = fmt.Scanln(&key) + if err != nil { + log.Fatal(err) + } + + pushover := client.New(key) + + fmt.Printf("\n%s\n:", "Please enter a device token") + _, err = fmt.Scanln(&device) + if err != nil { + log.Fatal(err) + } + + fmt.Printf("\n%s\n:", "Please enter a message to send") + _, err = fmt.Scanln(&message) + if err != nil { + log.Fatal(err) + } + + fmt.Printf("\n%s\n:", "Please enter a priority to send this message") + _, err = fmt.Scanln(&priority) + if err != nil { + log.Fatal(err) + } + + i, err = strconv.ParseInt(priority, 10, 64) + if i > 2 || i < -2 { + log.Println("Proiority should be between -2 and 2") + log.Fatal("Message aborted") + } + + pushover.Send(device, message, priority) + log.Println("Message sent") + +} diff --git a/client.go b/client.go index 9c54a43..4e138c6 100644 --- a/client.go +++ b/client.go @@ -1,6 +1,7 @@ package go_pushover_client import ( + "log" "net/http" "net/url" ) @@ -18,13 +19,25 @@ func (p *PushoverClient) new(token string) { } func (p *PushoverClient) Send(to string, message string, priority string) { + payload := url.Values{ "token": {p.ApplicationToken}, "user": {to}, "message": {message}, "priority": {priority}, } - http.PostForm(pushoverURL, payload) + + resp, err := http.PostForm(pushoverURL, payload) + if err != nil { + log.Fatal(err) + } + + responseBytes := make([]byte, 1024) + n, err := resp.Body.Read(responseBytes) + + responseString := string(responseBytes[:n]) + + log.Println(responseString) } func New(token string) *PushoverClient {