package test import "net/url" type ( URL struct { url *url.URL query url.Values } ) func (u *URL) URL() *url.URL { return u.url } func (u *URL) SetPath(path string) { u.url.Path = path } func (u *URL) Path() string { return u.url.Path } func (u *URL) QueryParam(name string) string { if u.query == nil { u.query = u.url.Query() } return u.query.Get(name) } func (u *URL) QueryParams() map[string][]string { if u.query == nil { u.query = u.url.Query() } return map[string][]string(u.query) } func (u *URL) QueryString() string { return u.url.RawQuery } func (u *URL) reset(url *url.URL) { u.url = url }