From 5401541109fcf3a6b527b2e0b99ac02174199813 Mon Sep 17 00:00:00 2001 From: zhaoyang Date: Mon, 13 Dec 2021 22:54:34 +0800 Subject: [PATCH] BugFix: if name == "" should return the prefix key (#324) * fix: if name is empty, then should return the prefix * fix: if name is empty, then should return the prefix * fix: limit is not working --- rss/handler/rss.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/rss/handler/rss.go b/rss/handler/rss.go index e1829d9..ed97237 100644 --- a/rss/handler/rss.go +++ b/rss/handler/rss.go @@ -33,7 +33,12 @@ func generateFeedKey(ctx context.Context, name string) string { tenantID = "micro" } - return fmt.Sprintf("rss/feed/%s/%s", tenantID, feedIdFromName(name)) + var feedId string + if name != "" { + feedId = feedIdFromName(name) + } + + return fmt.Sprintf("rss/feed/%s/%s", tenantID, feedId) } func NewRss(st store.Store, cr Crawler) *Rss { @@ -104,6 +109,7 @@ func (e *Rss) Feed(ctx context.Context, req *pb.FeedRequest, rsp *pb.FeedRespons req.Limit = int64(25) } + var enough bool for _, v := range records { // decode feed feed := pb.Feed{} @@ -128,9 +134,14 @@ func (e *Rss) Feed(ctx context.Context, req *pb.FeedRequest, rsp *pb.FeedRespons } rsp.Entries = append(rsp.Entries, &entry) + + if len(rsp.Entries) >= int(req.Limit) { + enough = true + break + } } - if len(rsp.Entries) >= int(req.Limit) { + if enough { break } }