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
|
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
|
// Do runs the request returned by the requestor and returns the parsed response
|
||||||
func (c *Client) Do(r Requester) (*Response, error) {
|
func (c *Client) Do(r Requester) (*Response, error) {
|
||||||
req, err := r.Request()
|
req, err := r.Request()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return &Response{}, err
|
return &Response{}, err
|
||||||
}
|
}
|
||||||
req.URL.Scheme = "http"
|
c.replaceHost(req)
|
||||||
req.URL.Host = fmt.Sprintf("%s:%s", c.Host, c.Port)
|
|
||||||
|
|
||||||
body, statusCode, err := c.doRequest(req)
|
body, statusCode, err := c.doRequest(req)
|
||||||
esResp := &Response{Status: statusCode}
|
esResp := &Response{Status: statusCode}
|
||||||
|
Loading…
Reference in New Issue
Block a user