Documentation ¶
Overview ¶
Package googleapi contains the common code shared by all Google API libraries.
Index ¶
- Constants
- Variables
- func CheckResponse(res *http.Response) error
- func CloseBody(res *http.Response)
- func ConditionallyIncludeMedia(media io.Reader, bodyp *io.Reader, ctypep *string) (totalContentLength int64, ok bool)
- func ResolveRelative(basestr, relstr string) string
- func SetOpaque(u *url.URL)
- type ContentTyper
- type Error
- type Float64s
- type Int32s
- type Int64s
- type Lengther
- type MarshalStyle
- type Uint32s
- type Uint64s
Constants ¶
const Version = "0.5"
Variables ¶
var WithDataWrapper = MarshalStyle(true)
var WithoutDataWrapper = MarshalStyle(false)
Functions ¶
func CheckResponse ¶
CheckResponse returns an error (of type *Error) if the response status code is not 2xx.
func CloseBody ¶
CloseBody is used to close res.Body. Prior to calling Close, it also tries to Read a small amount to see an EOF. Not seeing an EOF can prevent HTTP Transports from reusing connections.
func ConditionallyIncludeMedia ¶
func ConditionallyIncludeMedia(media io.Reader, bodyp *io.Reader, ctypep *string) (totalContentLength int64, ok bool)
ConditionallyIncludeMedia does nothing if media is nil.
bodyp is an in/out parameter. It should initially point to the reader of the application/json (or whatever) payload to send in the API request. It's updated to point to the multipart body reader.
ctypep is an in/out parameter. It should initially point to the content type of the bodyp, usually "application/json". It's updated to the "multipart/related" content type, with random boundary.
The return value is the content-length of the entire multpart body.
func ResolveRelative ¶
Types ¶
type ContentTyper ¶
type ContentTyper interface {
ContentType() string
}
ContentTyper is an interface for Readers which know (or would like to override) their Content-Type. If a media body doesn't implement ContentTyper, the type is sniffed from the content using http.DetectContentType.
type Error ¶
type Error struct { // Code is the HTTP response status code and will always be populated. Code int `json:"code"` // Message is the server response message and is only populated when // explicitly referenced by the JSON server response. Message string `json:"message"` // Body is the raw response returned by the server. // It is often but not always JSON, depending on how the request fails. Body string }
Error contains an error response from the server.
type Float64s ¶
type Float64s []float64
Float64s is a slice of float64s that marshal as quoted strings in JSON.
func (Float64s) MarshalJSON ¶
func (*Float64s) UnmarshalJSON ¶
type Int32s ¶
type Int32s []int32
Int32s is a slice of int32s that marshal as quoted strings in JSON.
func (Int32s) MarshalJSON ¶
func (*Int32s) UnmarshalJSON ¶
type Int64s ¶
type Int64s []int64
Int64s is a slice of int64s that marshal as quoted strings in JSON.
func (Int64s) MarshalJSON ¶
func (*Int64s) UnmarshalJSON ¶
type MarshalStyle ¶
type MarshalStyle bool
func (MarshalStyle) JSONReader ¶
func (wrap MarshalStyle) JSONReader(v interface{}) (io.Reader, error)
type Uint32s ¶
type Uint32s []uint32
Uint32s is a slice of uint32s that marshal as quoted strings in JSON.