mirror of
https://github.com/miguelmota/cointop
synced 2024-11-05 00:00:14 +00:00
Merge pull request #227 from lyricnz/feature/verbose-http-logging
Emit verbose HTTP logging for coingecko when DEBUG_HTTP is set
This commit is contained in:
commit
5064dbf353
@ -493,3 +493,14 @@ draft: false
|
||||
```bash
|
||||
GO111MODULE=on go get github.com/cointop-sh/cointop
|
||||
```
|
||||
|
||||
## How can I get more information when something is going wrong?
|
||||
|
||||
Cointop creates a logfile at `/tmp/cointop.log`. Normally nothing is written to this, but if you set the environment variable
|
||||
`DEBUG=1` cointop will write a lot of output describing its operation. Furthermore, if you also set `DEBUG_HTTP=1` it will
|
||||
emit lots about every HTTP request that cointop makes to coingecko (backend). Developers may ask for this information
|
||||
to help diagnose any problems you may experience.
|
||||
|
||||
```bash
|
||||
DEBUG=1 DEBUG_HTTP=1 cointop
|
||||
```
|
||||
|
12
pkg/api/vendors/coingecko/v3/v3.go
vendored
12
pkg/api/vendors/coingecko/v3/v3.go
vendored
@ -9,8 +9,11 @@ import (
|
||||
"net/url"
|
||||
"strings"
|
||||
|
||||
"os"
|
||||
|
||||
"github.com/cointop-sh/cointop/pkg/api/vendors/coingecko/format"
|
||||
"github.com/cointop-sh/cointop/pkg/api/vendors/coingecko/v3/types"
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
var baseURL = "https://api.coingecko.com/api/v3"
|
||||
@ -31,6 +34,11 @@ func NewClient(httpClient *http.Client) *Client {
|
||||
// helper
|
||||
// doReq HTTP client
|
||||
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)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -41,6 +49,10 @@ func doReq(req *http.Request, client *http.Client) ([]byte, error) {
|
||||
return nil, err
|
||||
}
|
||||
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 body, nil
|
||||
|
Loading…
Reference in New Issue
Block a user