From 027ba19eb3f81f2a877ddb9b8eb7809ac83e141b Mon Sep 17 00:00:00 2001 From: Christoph Blecker Date: Mon, 16 Jan 2017 13:11:31 -0800 Subject: [PATCH] Update google.golang.org/api/gensupport vendor --- .../api/gensupport/jsonfloat.go | 57 +++++++++++++++++++ .../google.golang.org/api/gensupport/retry.go | 14 +++++ vendor/vendor.json | 6 +- 3 files changed, 74 insertions(+), 3 deletions(-) create mode 100644 vendor/google.golang.org/api/gensupport/jsonfloat.go diff --git a/vendor/google.golang.org/api/gensupport/jsonfloat.go b/vendor/google.golang.org/api/gensupport/jsonfloat.go new file mode 100644 index 000000000..cb02335d2 --- /dev/null +++ b/vendor/google.golang.org/api/gensupport/jsonfloat.go @@ -0,0 +1,57 @@ +// Copyright 2016 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package gensupport + +import ( + "encoding/json" + "errors" + "fmt" + "math" +) + +// JSONFloat64 is a float64 that supports proper unmarshaling of special float +// values in JSON, according to +// https://developers.google.com/protocol-buffers/docs/proto3#json. Although +// that is a proto-to-JSON spec, it applies to all Google APIs. +// +// The jsonpb package +// (https://github.com/golang/protobuf/blob/master/jsonpb/jsonpb.go) has +// similar functionality, but only for direct translation from proto messages +// to JSON. +type JSONFloat64 float64 + +func (f *JSONFloat64) UnmarshalJSON(data []byte) error { + var ff float64 + if err := json.Unmarshal(data, &ff); err == nil { + *f = JSONFloat64(ff) + return nil + } + var s string + if err := json.Unmarshal(data, &s); err == nil { + switch s { + case "NaN": + ff = math.NaN() + case "Infinity": + ff = math.Inf(1) + case "-Infinity": + ff = math.Inf(-1) + default: + return fmt.Errorf("google.golang.org/api/internal: bad float string %q", s) + } + *f = JSONFloat64(ff) + return nil + } + return errors.New("google.golang.org/api/internal: data not float or string") +} diff --git a/vendor/google.golang.org/api/gensupport/retry.go b/vendor/google.golang.org/api/gensupport/retry.go index 9023368ac..c60b3c394 100644 --- a/vendor/google.golang.org/api/gensupport/retry.go +++ b/vendor/google.golang.org/api/gensupport/retry.go @@ -1,3 +1,17 @@ +// Copyright 2017 Google Inc. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package gensupport import ( diff --git a/vendor/vendor.json b/vendor/vendor.json index e997938f1..3df47d9d4 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -2766,10 +2766,10 @@ "revisionTime": "2016-11-27T23:54:21Z" }, { - "checksumSHA1": "I1JSeU5OMapl+4s2VrnBkMon3Bw=", + "checksumSHA1": "a1NkriuA/uk+Wv6yCFzxz4LIaDg=", "path": "google.golang.org/api/gensupport", - "revision": "3cc2e591b550923a2c5f0ab5a803feda924d5823", - "revisionTime": "2016-11-27T23:54:21Z" + "revision": "8840436417f044055c16fc7e4018f08484f52839", + "revisionTime": "2017-01-13T00:03:17Z" }, { "checksumSHA1": "yQREK/OWrz9PLljbr127+xFk6J0=",