diff --git a/conn.go b/conn.go index 9870127..e1d3478 100644 --- a/conn.go +++ b/conn.go @@ -213,25 +213,21 @@ func (c *conn) doRequest(ctx context.Context, req *http.Request) ([]byte, error) func (c *conn) buildRequest(query string, params []driver.Value, readonly bool) (*http.Request, error) { var ( - req *http.Request - err error + method string + err error ) if params != nil { if query, err = interpolateParams(query, params); err != nil { return nil, err } } - c.log("query: ", query) if readonly { - u := *c.url - q := u.Query() - q.Set("query", query) - u.RawQuery = q.Encode() - req, err = http.NewRequest(http.MethodGet, u.String(), nil) + method = http.MethodGet } else { - req, err = http.NewRequest(http.MethodPost, c.url.String(), strings.NewReader(query)) + method = http.MethodPost } - + c.log("query: ", query) + req, err := http.NewRequest(method, c.url.String(), strings.NewReader(query)) // http.Transport ignores url.User argument, handle it here if err == nil && c.user != nil { p, _ := c.user.Password() diff --git a/conn_test.go b/conn_test.go index 6e39ef8..f275a63 100644 --- a/conn_test.go +++ b/conn_test.go @@ -159,7 +159,7 @@ func (s *connSuite) TestBuildRequestReadonlyWithAuth() { s.Equal("user", user) s.Equal("password", password) s.Equal(http.MethodGet, req.Method) - s.Equal(cn.url.String()+"&query=SELECT+1", req.URL.String()) + s.Equal(cn.url.String(), req.URL.String()) s.Nil(req.URL.User) } }