-if ($force || !$cached->stat || time - $cached->stat->mtime > 900) {
- warn "Downloading $cache_filename\n";
- chomp(my $cookie = curfile->sibling('cookie')->slurp);
- my $res = Mojo::UserAgent->new->get(
- "https://adventofcode.com/2021/leaderboard/private/view/$board_id.json",
- { Cookie => $cookie }
- )->result;
-
- $cached->spurt($res->body);
-}
-
-my $json = from_json $cached->slurp;
+my $res = Y::AoC::UA::request(
+ "https://adventofcode.com/$year/leaderboard/private/view/$board_id.json",
+ {
+ max_age => $force ? 0 : 900,
+ body => 1,
+ cache_to => "board-$board_id-$year.json",
+ },
+);