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:
| M | src/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