diff options
author | Yotam Nachum <me@yotam.net> | 2019-11-09 22:17:37 +0200 |
---|---|---|
committer | Yotam Nachum <me@yotam.net> | 2019-11-09 22:17:37 +0200 |
commit | 9397dcf089af218080b182b9ec2f460d66a3f075 (patch) | |
tree | 9a2da3090615c34752613791869b593032d45438 | |
parent | Add CI with linting, testing and annotation (diff) | |
download | go-gemini-9397dcf089af218080b182b9ec2f460d66a3f075.tar.gz go-gemini-9397dcf089af218080b182b9ec2f460d66a3f075.zip |
Add a Gemini Error struct that contain status
-rw-r--r-- | gemini.go | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -1,5 +1,7 @@ package gemini +import "fmt" + // Gemini status codes as defined in the Gemini spec Appendix 1. const ( StatusInput = 10 @@ -35,3 +37,16 @@ const ( func SimplifyStatus(status int) int { return (status / 10) * 10 } + +type Error struct { + Err error + Status int +} + +func (e Error) Error() string { + return fmt.Sprintf("Status %d: %v", e.Status, e.Err) +} + +func (e Error) Unwrap() error { + return e.Err +} |