To allow writing more understandable checks like:
ret = resp.can_prepare(request)
ret.allowed
ret.protocol
allowed field is subject for discussion.
Also it would be good to implement __bool__ method for the class for easy checking:
if resp.can_prepare(request): ...