gencurl generates a curl command based on an http.Request to be used for logging and debugging
Switch branches/tags
Nothing to show
Clone or download
Latest commit a3af93c Oct 25, 2016
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md
gencurl.go copy request body Oct 24, 2016
gencurl_test.go

README.md

gencurl

gencurl generates a curl command based on an http.Request to be used for logging and debugging

// create an http request
data := []byte(`{"key":"value"}`)
req, err := http.NewRequest("POST", "http://www.example.com", bytes.NewBuffer(data))
if err != nil {
    // handle err
}
req.Header.Add("X-Custom", "custom data")

curl := gencurl.FromRequest(req)

// later, execute the request. On error, you can print curl to replicate and debug an issue

The generated curl command for this example would be: curl -v -X POST --header 'X-Custom: custom data' http://www.example.com -d '{"key":"value"}'

With this, you can test integrations and dig deeper. I suggest placing the generated curl in every error handling case dealing with an http request.