16 lines
450 B
Crystal
16 lines
450 B
Crystal
require "http/client"
|
|
require "uri"
|
|
|
|
def input(year, day)
|
|
filename = "year#{year}day#{day}.txt.cache"
|
|
return File.read(filename) if File.exists? filename
|
|
HTTP::Client.new(URI.parse("https://adventofcode.com")) do |client|
|
|
client.before_request do |request|
|
|
request.cookies["session"] = ENV["AOC_SESSION"]
|
|
end
|
|
input = client.get("/#{year}/day/#{day}/input").body.to_s
|
|
File.write(filename, input)
|
|
return input
|
|
end
|
|
end
|