class Tipi::ACME::HTTPChallengeHandler
Public Class Methods
new()
click to toggle source
# File lib/tipi/acme.rb, line 194 def initialize @challenges = {} end
Public Instance Methods
add(challenge)
click to toggle source
# File lib/tipi/acme.rb, line 198 def add(challenge) path = "/.well-known/acme-challenge/#{challenge.token}" @challenges[path] = challenge end
call(req)
click to toggle source
# File lib/tipi/acme.rb, line 208 def call(req) challenge = @challenges[req.path] # handle incoming request challenge = @challenges[req.path] return req.respond(nil, ':status' => 400) unless challenge req.respond(challenge.file_content, 'content-type' => challenge.content_type) end
remove(challenge)
click to toggle source
# File lib/tipi/acme.rb, line 203 def remove(challenge) path = "/.well-known/acme-challenge/#{challenge.token}" @challenges.delete(path) end