Responders passed ChallengeBody objects rather than Challenge objects as interface suggests
JayH5 opened this issue · 0 comments
JayH5 commented
The IResponder
interface documentation says that for the start_responding()
and stop_responding()
methods, the challenge
parameter should be "The acme.challenges
challenge object".
The object passed to those methods in txacme.client.answer_challenges
is currently actually the acme.messages.ChallengeBody
challenge body.
This hasn't been a problem thus far because (@mithrandi on IRC)...
ChallengeBody has this:
def __getattr__(self, name):
return getattr(self.chall, name)
so mostly you can use the body interchangeably with the actual challenge, but not when calling .encode()
This does, however, cause a problem with the HTTP01Responder
as it calls .encode('token')
on the challenge
it is passed.