Emit verbose HTTP logging for coingecko when DEBUG_HTTP is set

pull/225/head
Simon Roberts 3 years ago
parent 781b87d95d
commit 042e2184c7
No known key found for this signature in database
GPG Key ID: 0F30F99E6B771FD4

@ -9,8 +9,11 @@ import (
"net/url" "net/url"
"strings" "strings"
"os"
"github.com/cointop-sh/cointop/pkg/api/vendors/coingecko/format" "github.com/cointop-sh/cointop/pkg/api/vendors/coingecko/format"
"github.com/cointop-sh/cointop/pkg/api/vendors/coingecko/v3/types" "github.com/cointop-sh/cointop/pkg/api/vendors/coingecko/v3/types"
log "github.com/sirupsen/logrus"
) )
var baseURL = "https://api.coingecko.com/api/v3" var baseURL = "https://api.coingecko.com/api/v3"
@ -31,6 +34,11 @@ func NewClient(httpClient *http.Client) *Client {
// helper // helper
// doReq HTTP client // doReq HTTP client
func doReq(req *http.Request, client *http.Client) ([]byte, error) { func doReq(req *http.Request, client *http.Client) ([]byte, error) {
debugHttp := os.Getenv("DEBUG_HTTP") != ""
if debugHttp {
log.Debugf("doReq %s %s", req.Method, req.URL)
}
resp, err := client.Do(req) resp, err := client.Do(req)
if err != nil { if err != nil {
return nil, err return nil, err
@ -41,6 +49,10 @@ func doReq(req *http.Request, client *http.Client) ([]byte, error) {
return nil, err return nil, err
} }
if 200 != resp.StatusCode { if 200 != resp.StatusCode {
if debugHttp {
log.Warnf("doReq Got Status '%s' from %s %s", resp.Status, req.Method, req.URL)
log.Debugf("doReq Got Body: %s", body)
}
return nil, fmt.Errorf("%s", body) return nil, fmt.Errorf("%s", body)
} }
return body, nil return body, nil

Loading…
Cancel
Save