title: type *url.URL has no field or method ParseRequestURI
body: <p>here's my code:</p>
  
  <pre><code>director := func(req *http.Request) {
      fmt.Println(req.URL)
  
      regex, _ := regexp.Compile(`^/([a-zA-Z0-9_-]+)/(\S+)$`)
      match := regex.FindStringSubmatch(req.URL.Path)
      bucket, filename := match[1], match[2]
      method := "GET"
      expires := time.Now().Add(time.Second * 60)
  
      signedUrl, err := storage.SignedURL(bucket, filename, &amp;storage.SignedURLOptions{
          GoogleAccessID: user.GoogleAccessID,
          PrivateKey: []byte(user.PrivateKey),
          Method: method,
          Expires: expires,
      })
      if err != nil {
          fmt.Println("Error " + err.Error())
      }
      fmt.Println(signedUrl)
      req.URL.ParseRequestURI(signedUrl)
  }
  </code></pre>
  
  <p>I want to parse signedUrl to req.URL using ParseRequestURI method
  <a href="https://golang.org/pkg/net/url/#ParseRequestURI" rel="nofollow noreferrer">https://golang.org/pkg/net/url/#ParseRequestURI</a></p>
  
  <p>But when compiling, it throws an error:
  <code>req.URL.ParseRequestURI undefined (type *url.URL has no field or method ParseRequestURI)</code></p>
  
  <p>So I tried <code>req.URL.Parse</code> and it works.
  <a href="https://golang.org/pkg/net/url/#Parse" rel="nofollow noreferrer">https://golang.org/pkg/net/url/#Parse</a></p>
  
  <p>These two functions are close with each other in the documentation.  I can't find any significant difference(s) between them.  So I don't know why one works and the other doesn't.</p>
  
  <p>How can I make <code>ParseRequestURI</code> work? And why one works but the other doesn't?</p>