package Net::ACME2::Challenge; use strict; use warnings; =encoding utf-8 =head1 NAME Net::ACME2::Challenge =head1 DESCRIPTION The ACME Challenge object. You probably won’t instantiate these directly; they’re created automatically as part of L instantiation. =cut use parent qw( Net::ACME2::AccessorBase ); use Net::ACME2::Error (); use constant _ACCESSORS => ( 'url', 'type', 'status', 'validated', 'token', ); =head1 ACCESSORS These provide text strings as defined in the ACME specification. =over =item * B =item * B =item * B =item * B =item * B =back An C accessor is also provided, which returns the error object as a L instance (or undef if there is no error). =cut sub error { my ($self) = @_; return $self->{'_error'} && do { my $obj = Net::ACME2::Error->new( %{ $self->{'_error'} } ); # Do this to retain backward compatibility with pre-0.28 callers. @{$obj}{ keys %{ $self->{'_error'} } } = values %{ $self->{'_error'} }; $obj; }; } 1;