diff options
author | Brian Picciano <mediocregopher@gmail.com> | 2022-09-13 12:56:08 +0200 |
---|---|---|
committer | Brian Picciano <mediocregopher@gmail.com> | 2022-09-13 12:56:08 +0200 |
commit | 4f01edb9230f58ff84b0dd892c931ec8ac9aad55 (patch) | |
tree | 9c1598a3f98203913ac2548883c02a81deb33dc7 /srv/src/http/feed.go | |
parent | 5485984e05aebde22819adebfbd5ad51475a6c21 (diff) |
move src out of srv, clean up default.nix and Makefile
Diffstat (limited to 'srv/src/http/feed.go')
-rw-r--r-- | srv/src/http/feed.go | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/srv/src/http/feed.go b/srv/src/http/feed.go deleted file mode 100644 index 8bb01c4..0000000 --- a/srv/src/http/feed.go +++ /dev/null @@ -1,77 +0,0 @@ -package http - -import ( - "fmt" - "net/http" - "path/filepath" - - "github.com/gorilla/feeds" - "github.com/mediocregopher/blog.mediocregopher.com/srv/http/apiutil" - "github.com/mediocregopher/blog.mediocregopher.com/srv/post" -) - -func (a *api) renderFeedHandler() http.Handler { - - return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { - - tag := r.FormValue("tag") - - var ( - posts []post.StoredPost - err error - ) - - if tag == "" { - posts, _, err = a.params.PostStore.Get(0, 20) - } else { - posts, err = a.params.PostStore.GetByTag(tag) - } - - if err != nil { - apiutil.InternalServerError(rw, r, fmt.Errorf("fetching recent posts: %w", err)) - return - } - - author := &feeds.Author{ - Name: "mediocregopher", - } - - publicURL := a.params.PublicURL.String() - - feed := feeds.Feed{ - Title: "Mediocre Blog", - Link: &feeds.Link{Href: publicURL + "/"}, - Description: "A mix of tech, art, travel, and who knows what else.", - Author: author, - } - - for _, post := range posts { - - if post.PublishedAt.After(feed.Updated) { - feed.Updated = post.PublishedAt - } - - if post.LastUpdatedAt.After(feed.Updated) { - feed.Updated = post.LastUpdatedAt - } - - postURL := publicURL + filepath.Join("/posts", post.ID) - - item := &feeds.Item{ - Title: post.Title, - Link: &feeds.Link{Href: postURL}, - Author: author, - Description: post.Description, - Id: postURL, - Created: post.PublishedAt, - } - - feed.Items = append(feed.Items, item) - } - - if err := feed.WriteAtom(rw); err != nil { - apiutil.InternalServerError(rw, r, fmt.Errorf("writing atom feed: %w", err)) - return - } - }) -} |