From 9f0c6e30cfea1c1b9f24fe0ee5811ace24d304b6 Mon Sep 17 00:00:00 2001 From: Mitch Riedstra Date: Mon, 18 Feb 2019 16:33:04 -0500 Subject: Initial --- main.go | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 main.go (limited to 'main.go') diff --git a/main.go b/main.go new file mode 100644 index 0000000..5edfd64 --- /dev/null +++ b/main.go @@ -0,0 +1,51 @@ +package main + +import ( + "encoding/json" + "flag" + "fmt" + "io/ioutil" + "log" + "net/http" +) + +var ( + endpoint = flag.String("e", "https://gogs.example.com/api/v1", + "Gogs server endpoint, possibly github e.g. https://api.github.com") + user = flag.String("u", "", "Username to look for") +) + +type Key struct { + Key string `json: key` +} + +func (k Key) String() string { + return k.Key +} + +func errDie(err error) { + if err != nil { + log.Fatal(err) + } +} + +func main() { + flag.Parse() + + str := fmt.Sprintf("%s/users/%s/keys", *endpoint, *user) + resp, err := http.Get(str) + errDie(err) + + defer resp.Body.Close() + b, err := ioutil.ReadAll(resp.Body) + errDie(err) + + keyList := []Key{} + + err = json.Unmarshal(b, &keyList) + errDie(err) + + for _, k := range keyList { + fmt.Println(k) + } +} -- cgit v1.2.3