From 45b805d290860ec1047e600f4646bdf04133d0b0 Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Sun, 5 Sep 2021 20:18:11 +0000 Subject: [PATCH] Initial commit --- asana/client.go | 44 ++++++++++++++++++++++++++++++++++++++++++++ go.mod | 3 +++ main.go | 7 +++++++ 3 files changed, 54 insertions(+) create mode 100644 asana/client.go create mode 100644 go.mod create mode 100644 main.go diff --git a/asana/client.go b/asana/client.go new file mode 100644 index 0000000..186e304 --- /dev/null +++ b/asana/client.go @@ -0,0 +1,44 @@ +package asana + +import "fmt" +import "net/http" +import "os" + +type withHeader struct { + Header http.Header + rt http.RoundTripper +} + +func WithHeader(rt http.RoundTripper) withHeader { + if rt == nil { + rt = http.DefaultTransport + } + + return withHeader{ + Header: make(http.Header), + rt: rt, + } +} + +func (h withHeader) RoundTrip(req *http.Request) (*http.Response, error) { + for k, v := range h.Header { + req.Header[k] = v + } + + return h.rt.RoundTrip(req) +} + +func Fetch() { + c := &http.Client{} + + rt := WithHeader(c.Transport) + rt.Header.Set("Authorization", fmt.Sprintf("Bearer %s", os.Getenv("ASANA_TOKEN"))) + c.Transport = rt + + resp, err := c.Get("https://app.asana.com/api/1.0/users/me") + if err != nil { + panic(err) + } + + fmt.Printf("%#v\n", resp) +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..feb5cb8 --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module github.com/firestuff/asana-rules + +go 1.13 diff --git a/main.go b/main.go new file mode 100644 index 0000000..61a41ad --- /dev/null +++ b/main.go @@ -0,0 +1,7 @@ +package main + +import "github.com/firestuff/asana-rules/asana" + +func main() { + asana.Fetch() +}