package web import ( "net/http" "github.com/Jaculabilis/intake/core" "github.com/Jaculabilis/intake/web/html" ) func (env *Env) getSource(writer http.ResponseWriter, req *http.Request) { source := req.PathValue("source") if exists, err := core.SourceExists(env.db, source); !exists || err != nil { http.NotFound(writer, req) return } page := getQueryInt(req, "page", 1) count := getQueryInt(req, "count", core.DefaultFeedLimit) showHidden := getQueryInt(req, "hidden", 0) var items []core.Item var err error if showHidden != 0 { items, err = core.GetAllItemsForSource(env.db, source, (page-1)*count, count) } else { items, err = core.GetActiveItemsForSource(env.db, source, (page-1)*count, count) } if err != nil { http.Error(writer, err.Error(), 500) return } data := html.FeedData{ Items: items, ShowHidden: showHidden, Page: page, Count: count, } html.Feed(writer, data) }