# Shorthand for attaching the auth token and running an API request. sub _user_agent_request($self, $req) { $log->debug("Digicert API: ".$req->method.' '.$req->uri) if $log->is_debug; my $startT= time; my $res= $self->_user_agent->request($req); my $endT= time; $log->infof("%s response: %s (took %.3f sec)", (!$log->is_debug? "Digicert API: ".$req->method.' '.$req->uri : ''), $res->status_line, $endT - $startT) if $log->is_debug or $endT-$startT > 3 or !$res->is_success; return $res; } # Shorthand that takes an HTTP response and either unpacks the data or dies. sub _return_data_or_die_informatively($self, $res, $req) { my $data; $data= JSON->new->allow_nonref->decode($res->decoded_content) if $res->content_type =~ m,^application/.*?json\z,; if ($res->is_success && defined $data && defined $data->{data}) { return $data->{data}; } else { croak "DigiCert ".$res->status_line." -- ".$res->decoded_content; } }