func (c *Client) requestRaw(r *request) (int, []byte, error) {
	if c.fake || (c.dry && r.method != http.MethodGet) {
		return r.exitCodes[0], nil, nil
	}
	resp, err := c.requestRetry(r.method, r.path, r.accept, r.requestBody)
	if err != nil {
		return 0, nil, err
	}
	defer resp.Body.Close()
	b, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		return 0, nil, err
	}
	var okCode bool
	for _, code := range r.exitCodes {
		if code == resp.StatusCode {
			okCode = true
			break
		}
	}
	if !okCode {
		clientError := unmarshalClientError(b)
		err = requestError{
			ClientError: clientError,
			ErrorString: fmt.Sprintf("status code %d not one of %v, body: %s", resp.StatusCode, r.exitCodes, string(b)),
		}
	}
	return resp.StatusCode, b, err
}
func (c *Client) requestRaw(r *request) (int, []byte, error) {
	if c.fake || (c.dry && r.method != http.MethodGet) {
		return r.exitCodes[0], nil, nil
	}
	resp, err := c.requestRetry(r.method, r.path, r.accept, r.requestBody)
	if err != nil {
		return 0, nil, err
	}
	defer resp.Body.Close()
	b, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		return 0, nil, err
	}
	var okCode bool
	for _, code := range r.exitCodes {
		if code == resp.StatusCode {
			okCode = true
			break
		}
	}
	if !okCode {
		clientError := unmarshalClientError(b)
		err = requestError{
			ClientError: clientError,
			ErrorString: fmt.Sprintf("status code %d not one of %v, body: %s", resp.StatusCode, r.exitCodes, string(b)),
		}
	}
	return resp.StatusCode, b, err
}
func ( c * Client ) requestRaw ( r * request ) ( int , [ ] byte , error ) { if c . fake || ( c . dry && r . method != http . MethodGet ) { return r . exitCodes [ 0 ] , nil , nil } resp , err := c . requestRetry ( r . method , r . path , r . accept , r . requestBody ) if err != nil { return 0 , nil , err } defer resp . Body . Close ( ) b , err := ioutil . ReadAll ( resp . Body ) if err != nil { return 0 , nil , err } var okCode bool for _ , code := range r . exitCodes { if code == resp . StatusCode { okCode = true break } } if ! okCode { clientError := unmarshalClientError ( b ) err = requestError { ClientError : clientError , ErrorString : fmt . Sprintf ( " " , resp . StatusCode , r . exitCodes , string ( b ) ) , } } return resp . StatusCode , b , err }
// requestRaw makes a request with retries and returns the response body.
// Returns an error if the exit code is not one of the provided codes.
requestRaw makes a request with retries and returns the response body . Returns an error if the exit code is not one of the provided codes .