func (c *Client) DoReq(ctx context.Context, method, path string, opts *Options) (*http.Response, error) {
	var body io.Reader
	if opts != nil {
		if opts.Body != nil {
			body = opts.Body
		}
	}
	req, err := c.NewRequest(ctx, method, path, body)
	if err != nil {
		return nil, err
	}
	fixPath(req, path)
	setHeaders(req, opts)

	return c.Do(req)
}
// DoReq does an HTTP request. An error is returned only if there was an error
// processing the request. In particular, an error status code, such as 400
// or 500, does _not_ cause an error to be returned.
DoReq does an HTTP request. An error is returned only if there was an error
processing the request. In particular, an error status code, such as 400
or 500, does _not_ cause an error to be returned.
// DoReq does an HTTP request . An error is returned only if there was an error // processing the request . In particular an error status code such as 400 // or 500 does _not_ cause an error to be returned .
func (c *Client) DoReq(ctx context.Context, method, path string, opts *Options) (*http.Response, error) {
	var body io.Reader
	if opts != nil {
		if opts.Body != nil {
			body = opts.Body
		}
	}
	req, err := c.NewRequest(ctx, method, path, body)
	if err != nil {
		return nil, err
	}
	fixPath(req, path)
	setHeaders(req, opts)
	return c.Do(req)
}
func ( c * Client ) DoReq ( ctx context . Context , method , path string , opts * Options ) ( * http . Response , error ) { var body io . Reader if opts != nil { if opts . Body != nil { body = opts . Body } } req , err := c . NewRequest ( ctx , method , path , body ) if err != nil { return nil , err } fixPath ( req , path ) setHeaders ( req , opts ) return c . Do ( req ) }
DoReq does an HTTP request.
DoReq does an HTTP request .