mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
net/url: document the package better
Changes made:
* Adjust the documented form for a URL to make it more obvious what
happens when the scheme is missing.
* Remove references to Go1.5. We are sufficiently far along enough
that this distinction no longer matters.
* Remove the "Opaque" example which provides a hacky and misleading
use of the Opaque field. This workaround is no longer necessary
since RawPath was added in Go1.5 and the obvious approach just works:
// The raw string "/%2f/" will be sent as expected.
req, _ := http.NewRequest("GET", "https://example.com/%2f/")
Fixes #18824
Change-Id: Ie33d27222e06025ce8025f8a0f04b601aaee1513
Reviewed-on: https://go-review.googlesource.com/36127
Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
f81466ce9c
commit
1b31c9ff67
2 changed files with 8 additions and 42 deletions
|
|
@ -8,8 +8,6 @@ import (
|
|||
"encoding/json"
|
||||
"fmt"
|
||||
"log"
|
||||
"net/http"
|
||||
"net/http/httputil"
|
||||
"net/url"
|
||||
"strings"
|
||||
)
|
||||
|
|
@ -59,33 +57,6 @@ func ExampleURL_roundtrip() {
|
|||
// https://example.com/foo%2fbar
|
||||
}
|
||||
|
||||
func ExampleURL_opaque() {
|
||||
// Sending a literal '%' in an HTTP request's Path
|
||||
req := &http.Request{
|
||||
Method: "GET",
|
||||
Host: "example.com", // takes precedence over URL.Host
|
||||
URL: &url.URL{
|
||||
Host: "ignored",
|
||||
Scheme: "https",
|
||||
Opaque: "/%2f/",
|
||||
},
|
||||
Header: http.Header{
|
||||
"User-Agent": {"godoc-example/0.1"},
|
||||
},
|
||||
}
|
||||
out, err := httputil.DumpRequestOut(req, true)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
fmt.Println(strings.Replace(string(out), "\r", "", -1))
|
||||
// Output:
|
||||
// GET /%2f/ HTTP/1.1
|
||||
// Host: example.com
|
||||
// User-Agent: godoc-example/0.1
|
||||
// Accept-Encoding: gzip
|
||||
//
|
||||
}
|
||||
|
||||
func ExampleURL_ResolveReference() {
|
||||
u, err := url.Parse("../../..//search?q=dotnet")
|
||||
if err != nil {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue