# Functions
ClientWithNoRedirects makes a new http client which won't follow redirects.
DecodeJSON decodes resp.Body into result.
DecodeXML decodes resp.Body into result.
MultipartUpload creates an io.Reader which produces an encoded a multipart form upload from the params passed in and the passed in
in - the body of the file (may be nil) params - the form parameters fileName - is the name of the attached file contentName - the name of the parameter for the file
the int64 returned is the overhead in addition to the file contents, in case Content-Length is required
NB This doesn't allow setting the content type of the attachment.
NewClient takes an oauth http.Client and makes a new api instance.
ParseSizeFromHeaders parses HTTP response headers to get the full file size.
ReadBody reads resp.Body into result, closing the body.
URLJoin joins a URL and a path returning a new URL
path should be URL escaped.
URLPathEscape escapes URL path the in string using URL escaping rules
This mimics url.PathEscape which only available from go 1.8.
# Type aliases
SignerFn is used to sign an outgoing request.