diff --git a/internal/reddit/client.go b/internal/reddit/client.go index 62211b4..eba02c0 100644 --- a/internal/reddit/client.go +++ b/internal/reddit/client.go @@ -122,13 +122,13 @@ func (rac *AuthenticatedClient) request(r *Request, rh ResponseHandler, empty in return nil, err } - parser := rac.pool.Get() - defer rac.pool.Put(parser) - if resp.StatusCode != 200 { rac.statsd.Incr("reddit.api.errors", r.tags, 0.1) // Try to parse a json error. Otherwise we generate a generic one + parser := rac.pool.Get() + defer rac.pool.Put(parser) + val, jerr := parser.ParseBytes(bb) if jerr != nil { return nil, fmt.Errorf("error from reddit: %d", resp.StatusCode) @@ -140,6 +140,9 @@ func (rac *AuthenticatedClient) request(r *Request, rh ResponseHandler, empty in return empty, nil } + parser := rac.pool.Get() + defer rac.pool.Put(parser) + val, err := parser.ParseBytes(bb) if err != nil { return nil, err