package main import ( "context" "encoding/json" "fmt" "log" "net/http" "git.the-red-comet.org/guy176251/reddit-go/reddit" ) var ctx = context.Background() func main() { if err := run(); err != nil { log.Fatal(err) } } func run() (err error) { client, err := reddit.NewReadonlyClient() if err != nil { return } client.OnRequestCompleted(logResponse) posts, _, err := client.Subreddit.HotPosts(ctx, "golang", &reddit.ListOptions{Limit: 5}) if err != nil { log.Fatal("Could not get hot posts:", err) } if len(posts) == 0 { log.Fatal("No posts") } details, resp, err := client.Post.Get(ctx, posts[0].ID, posts[0].SubredditName) if err != nil { log.Fatal("Could not get post details: Status code ", resp.Status) } b, _ := json.MarshalIndent(details, "", " ") log.Println("Got post details") log.Println(string(b)) return } func logResponse(req *http.Request, res *http.Response) { fmt.Printf("%s %s %s\n", req.Method, req.URL, res.Status) }