Commit b8189bef authored by Nate Mara's avatar Nate Mara Committed by Sander van Harmelen

Change from using url.Opaque to url.Path and url.RawPath (#455)

parent 5f59a31d
...@@ -500,8 +500,14 @@ func (c *Client) SetBaseURL(urlStr string) error { ...@@ -500,8 +500,14 @@ func (c *Client) SetBaseURL(urlStr string) error {
// request body. // request body.
func (c *Client) NewRequest(method, path string, opt interface{}, options []OptionFunc) (*http.Request, error) { func (c *Client) NewRequest(method, path string, opt interface{}, options []OptionFunc) (*http.Request, error) {
u := *c.baseURL u := *c.baseURL
// Set the encoded opaque data unescaped, err := url.PathUnescape(path)
u.Opaque = c.baseURL.Path + path if err != nil {
return nil, err
}
// Set the encoded path data
u.RawPath = c.baseURL.Path + path
u.Path = c.baseURL.Path + unescaped
if opt != nil { if opt != nil {
q, err := query.Values(opt) q, err := query.Values(opt)
...@@ -681,7 +687,7 @@ type ErrorResponse struct { ...@@ -681,7 +687,7 @@ type ErrorResponse struct {
} }
func (e *ErrorResponse) Error() string { func (e *ErrorResponse) Error() string {
path, _ := url.QueryUnescape(e.Response.Request.URL.Opaque) path, _ := url.QueryUnescape(e.Response.Request.URL.Path)
u := fmt.Sprintf("%s://%s%s", e.Response.Request.URL.Scheme, e.Response.Request.URL.Host, path) u := fmt.Sprintf("%s://%s%s", e.Response.Request.URL.Scheme, e.Response.Request.URL.Host, path)
return fmt.Sprintf("%s %s: %d %s", e.Response.Request.Method, u, e.Response.StatusCode, e.Message) return fmt.Sprintf("%s %s: %d %s", e.Response.Request.Method, u, e.Response.StatusCode, e.Message)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment