yuzurss

Feed aggregator microservice based on Spring
git clone https://git.neuralcrash.com/yuzurss.git
Log | Files | Refs | README | LICENSE

commit ec34c887d2b2ee1e2a96563f56e3f447916b6151
parent a09a27f2115c97dc81f5e2a347ac0f5708ffd070
Author: Kebigon <git@kebigon.xyz>
Date:   Sat, 15 Dec 2018 15:05:23 +0900

Add a limit to the number of entries returned by the feed.
Diffstat:
Msrc/main/java/fr/lrgn/yuzurss/FeedController.java | 10+++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/main/java/fr/lrgn/yuzurss/FeedController.java b/src/main/java/fr/lrgn/yuzurss/FeedController.java @@ -14,12 +14,20 @@ import reactor.core.publisher.Flux; @RequestMapping("/feed") public class FeedController { + private static final int DEFAULT_LIMIT = 10; + @Autowired private FeedClient client; @GetMapping("/{urls}") Flux<FeedEntry> getFeeds(@PathVariable String[] urls) { - return Flux.fromArray(urls).map(url -> URI.create(url)).flatMap(uri -> client.getFeed(uri)).sort(FeedEntry.COMPARATOR); + return getFeeds(urls, DEFAULT_LIMIT); + } + + @GetMapping("/{urls}/{limit}") + Flux<FeedEntry> getFeeds(@PathVariable String[] urls, @PathVariable int limit) + { + return Flux.fromArray(urls).map(url -> URI.create(url)).flatMap(uri -> client.getFeed(uri)).sort(FeedEntry.COMPARATOR).take(limit); } } \ No newline at end of file