Sling Changelog
Notable changes between releases.
Latest
v1.2.0
Add
Connect
,Options
, andTrace
HTTP methods (c51967)Skip receiving (i.e. decoding)
204 No Content
responses (#31)
v1.1.0
Allow JSON decoding, regardless of response Content-Type (#26)
Add
BodyProvider
interface and setter so request Body encoding can be customized (#23)Add
Doer
interface and setter so request sending behavior can be customized (#21)Add
SetBasicAuth
setter for Authorization headers (#16)Add Sling
Body
setter to set anio.Reader
on the Request (#9)
v1.0.0
Added support for receiving and decoding error JSON structs
Renamed Sling
JsonBody
setter toBodyJSON
(breaking)Renamed Sling
BodyStruct
setter toBodyForm
(breaking)Renamed Sling fields
httpClient
,method
,rawURL
, andheader
to be internal (breaking)Changed
Do
andReceive
to skip response JSON decoding if "application/json" Content-Type is missingChanged
Sling.Receive(v interface{})
toSling.Receive(successV, failureV interface{})
(breaking)Previously
Receive
attempted to decode the response Body in all casesUpdated
Receive
will decode the response Body into successV for 2XX responses or decode the Body into failureV for other status codes. Pass a nilsuccessV
orfailureV
to skip JSON decoding into that value.To upgrade, pass nil for the
failureV
argument or consider defining a JSON tagged struct appropriate for the API endpoint. (e.g.s.Receive(&issue, nil)
,s.Receive(&issue, &githubError)
)To retain the old behavior, duplicate the first argument (e.g. s.Receive(&tweet, &tweet))
Changed
Sling.Do(http.Request, v interface{})
toSling.Do(http.Request, successV, failureV interface{})
(breaking)See the changelog entry about
Receive
, the upgrade path is the same.
Removed HEAD, GET, POST, PUT, PATCH, DELETE constants, no reason to export them (breaking)
v0.4.0
Improved golint compliance
Fixed typos and test printouts
v0.3.0
Added BodyStruct method for setting a url encoded form body on the Request
Added Add and Set methods for adding or setting Request Headers
Added JsonBody method for setting JSON Request Body
Improved examples and documentation
v0.2.0
Added http.Client setter
Added Sling.New() method to return a copy of a Sling
Added Base setter and Path extension support
Added method setters (Get, Post, Put, Patch, Delete, Head)
Added support for encoding URL Query parameters
Added example tiny Github API
Changed v0.1.0 method signatures and names (breaking)
Removed Go 1.0 support
v0.1.0
Support decoding JSON responses.
Last updated