Add ability to do a request and just get the raw response bytes back
This commit is contained in:
parent
3a66a8f6d3
commit
4b222647b4
18
goes.go
18
goes.go
@ -573,14 +573,28 @@ func (c *Client) AliasExists(alias string) (bool, error) {
|
||||
return resp.Status == 200, err
|
||||
}
|
||||
|
||||
func (c *Client) replaceHost(req *http.Request) {
|
||||
req.URL.Scheme = "http"
|
||||
req.URL.Host = fmt.Sprintf("%s:%s", c.Host, c.Port)
|
||||
}
|
||||
|
||||
// DoRaw Does the provided requeset and returns the raw bytes and the status code of the response
|
||||
func (c *Client) DoRaw(r Requester) ([]byte, uint64, error) {
|
||||
req, err := r.Request()
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
c.replaceHost(req)
|
||||
return c.doRequest(req)
|
||||
}
|
||||
|
||||
// Do runs the request returned by the requestor and returns the parsed response
|
||||
func (c *Client) Do(r Requester) (*Response, error) {
|
||||
req, err := r.Request()
|
||||
if err != nil {
|
||||
return &Response{}, err
|
||||
}
|
||||
req.URL.Scheme = "http"
|
||||
req.URL.Host = fmt.Sprintf("%s:%s", c.Host, c.Port)
|
||||
c.replaceHost(req)
|
||||
|
||||
body, statusCode, err := c.doRequest(req)
|
||||
esResp := &Response{Status: statusCode}
|
||||
|
Loading…
Reference in New Issue
Block a user