Hi Jeeva, here’s a code review.

In client.go *Client R() the creation of the *Request unnecessarily sets 
zero values for fields. They could just be omitted instead. Same in 
default.go at func createClient.

The Client type could have *log.Logger and http.Header embedded in the 
struct instead of named. This would shorten calls elsewhere (like c.Printf 
instead of c.Log.Printf).

In middleware.go func parseRequestBody using else instead of goto may be 
clearer.

In redirect.go I’m not understanding the RedirectPolicy interface + 
RedirectPolicyFunc type. Why not just have “type RedirectPolicy func(req 
*http.Request, via []*http.request) error”?

Request could have multiple exported fields embedded. Perhaps Request in 
Response too.

There are a lot of tests, nice.

I’m not sure why there’s a utility valueOf func instead of just calling 
reflect.ValueOf directly.

For documentation I feel that Client has too many functions, methods, and 
fields, but I’m not sure what an alternative would look like. Perhaps these 
types could rely on setting public fields instead of having setters in some 
cases? And maybe Client could be broken into subtypes embedded into the 
Client struct.

Some godoc identifier documentation is missing the period. The README.md 
has many examples which may already be covered by godoc that are making it 
longer than usual.

Matt

On Thursday, January 25, 2018 at 2:27:46 PM UTC-6, Jeevanandam M. wrote:
>
> Stable Version : gopkg.in/resty.v1
> Edge Version   : github.com/go-resty/resty
> godoc          : https://godoc.org/github.com/go-resty/resty
>
>
> Changelog:
>
> Features:
>   * Added Request URL Path Params #103 @jeevatkm
>
> Enhancements:
>   * Auto detects file content type in mutlipart/form-data mode #109, PR 
> #111 @gh0st42 
>   * Limit body size for debug log PR #99 @sudo-suhas
>   * Log prefix enhancement #113 @jeevatkm
>   * More friendly with mocking test libraries
>
> I appreciate your support & feedback!
>
> Cheers,
> Jeeva
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to