aboutsummaryrefslogtreecommitdiff
path: root/vendor/google.golang.org/api/googleapi/googleapi.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/google.golang.org/api/googleapi/googleapi.go')
-rw-r--r--vendor/google.golang.org/api/googleapi/googleapi.go34
1 files changed, 4 insertions, 30 deletions
diff --git a/vendor/google.golang.org/api/googleapi/googleapi.go b/vendor/google.golang.org/api/googleapi/googleapi.go
index 67ee776..806e02d 100644
--- a/vendor/google.golang.org/api/googleapi/googleapi.go
+++ b/vendor/google.golang.org/api/googleapi/googleapi.go
@@ -149,12 +149,12 @@ func IsNotModified(err error) bool {
// CheckMediaResponse returns an error (of type *Error) if the response
// status code is not 2xx. Unlike CheckResponse it does not assume the
// body is a JSON error document.
+// It is the caller's responsibility to close res.Body.
func CheckMediaResponse(res *http.Response) error {
if res.StatusCode >= 200 && res.StatusCode <= 299 {
return nil
}
slurp, _ := ioutil.ReadAll(io.LimitReader(res.Body, 1<<20))
- res.Body.Close()
return &Error{
Code: res.StatusCode,
Body: string(slurp),
@@ -278,41 +278,15 @@ func ResolveRelative(basestr, relstr string) string {
return us
}
-// has4860Fix is whether this Go environment contains the fix for
-// http://golang.org/issue/4860
-var has4860Fix bool
-
-// init initializes has4860Fix by checking the behavior of the net/http package.
-func init() {
- r := http.Request{
- URL: &url.URL{
- Scheme: "http",
- Opaque: "//opaque",
- },
- }
- b := &bytes.Buffer{}
- r.Write(b)
- has4860Fix = bytes.HasPrefix(b.Bytes(), []byte("GET http"))
-}
-
-// SetOpaque sets u.Opaque from u.Path such that HTTP requests to it
-// don't alter any hex-escaped characters in u.Path.
-func SetOpaque(u *url.URL) {
- u.Opaque = "//" + u.Host + u.Path
- if !has4860Fix {
- u.Opaque = u.Scheme + ":" + u.Opaque
- }
-}
-
// Expand subsitutes any {encoded} strings in the URL passed in using
// the map supplied.
//
// This calls SetOpaque to avoid encoding of the parameters in the URL path.
func Expand(u *url.URL, expansions map[string]string) {
- expanded, err := uritemplates.Expand(u.Path, expansions)
+ escaped, unescaped, err := uritemplates.Expand(u.Path, expansions)
if err == nil {
- u.Path = expanded
- SetOpaque(u)
+ u.Path = unescaped
+ u.RawPath = escaped
}
}