Collection of packages to serve as the building blocks for developing Go applications.
$ go get github.com/sudo-suhas/xgo
Usage for each package is documentated in the respective readme.
The rationale for important design decisions is documented in decision-log.md.
A lot of the ideas for the errors package are from these articles and talks:
- "Error handling in Upspin" by Rob Pike and Andrew Gerrand.
- "Failure is your Domain" by Ben Johnson.
- "Handling Go errors" by Marwan Sulaiman from GopherCon 2019.
The JSON decoder implementation in the httputil
package is based on "How to
Parse a JSON Request Body in Go" by Alex Edwards.
The URL builder in the httputil
package drew some inspiration from
https://github.com/balazsbotond/urlcat.