all repos — homestead @ a9f47f4e4ed3223e86dc1d5c3edd005b8d9ce589

Code for my website

refactor: return errors with stack traces, where appropriate

Alan Pearce
commit

a9f47f4e4ed3223e86dc1d5c3edd005b8d9ce589

parent

f17c0bd9ce8ad16b39c9c5ba80c917049e135bed

1 file changed, 12 insertions(+), 13 deletions(-)

changed files
M internal/builder/template/template.gointernal/builder/template/template.go
@@ -33,7 +33,7 @@ type QueryDocument struct {
*goquery.Document } -func NewDocumentFromReader(r io.Reader) (*QueryDocument, error) { +func NewDocumentFromReader(r io.Reader) (*QueryDocument, errors.E) { doc, err := goquery.NewDocumentFromReader(r) return &QueryDocument{doc}, errors.WithMessage(err, "could not create query document")
@@ -43,11 +43,11 @@ func (q *QueryDocument) Find(selector string) *QuerySelection {
return &QuerySelection{q.Document.Find(selector)} } -func RenderRobotsTXT(config *config.Config) (io.Reader, error) { +func RenderRobotsTXT(config *config.Config) (io.Reader, errors.E) { r, w := io.Pipe() tpl, err := template.ParseFS(templates.Files, "robots.tmpl") if err != nil { - return nil, err + return nil, errors.WithStack(err) } go func() { err = tpl.Execute(w, map[string]interface{}{
@@ -67,7 +67,7 @@ title string,
config *config.Config, posts []*content.Post, specific string, -) (io.WriterTo, error) { +) (io.WriterTo, errors.E) { buf := &bytes.Buffer{} datetime := posts[0].Date.UTC()
@@ -103,32 +103,31 @@ },
} } enc := xml.NewEncoder(buf) - err = enc.Encode(feed) - if err != nil { - return nil, err + if err := enc.Encode(feed); err != nil { + return nil, errors.WithStack(err) } return buf, nil } -func CopyFile(filename string, w io.Writer) error { +func CopyFile(filename string, w io.Writer) errors.E { f, err := templates.Files.Open(filename) if err != nil { - return err + return errors.WithStack(err) } defer f.Close() if _, err := io.Copy(w, f); err != nil { - return err + return errors.WithStack(err) } return nil } -func GetFeedStyleHash(r io.Reader) (string, error) { +func GetFeedStyleHash(r io.Reader) (string, errors.E) { doc, err := xmlquery.Parse(r) if err != nil { - return "", err + return "", errors.WithStack(err) } expr, err := xpath.CompileWithNS("//xhtml:style", nsMap) if err != nil {
@@ -139,7 +138,7 @@
return Hash(style.InnerText()), nil } -func GetHTMLStyleHash(r io.Reader) (string, error) { +func GetHTMLStyleHash(r io.Reader) (string, errors.E) { doc, err := NewDocumentFromReader(r) if err != nil { return "", err