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