summaryrefslogtreecommitdiff
path: root/srv/src/http/feed.go
diff options
context:
space:
mode:
authorBrian Picciano <mediocregopher@gmail.com>2022-09-13 12:56:08 +0200
committerBrian Picciano <mediocregopher@gmail.com>2022-09-13 12:56:08 +0200
commit4f01edb9230f58ff84b0dd892c931ec8ac9aad55 (patch)
tree9c1598a3f98203913ac2548883c02a81deb33dc7 /srv/src/http/feed.go
parent5485984e05aebde22819adebfbd5ad51475a6c21 (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.go77
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
- }
- })
-}