nc/die>).
=head2 as_string
Returns a string representation of the exception.
=head2 as_json
Returns a JSON string representation of the exception.
=head2 log
Logs the exception using Log::Any an
=head1 INHERITED METHODS
=over 4
=item L<WebService::Hydra::Exception>
L<as_json|WebService::Hydra::Exception/as_json>, L<as_string|WebService::Hydra::Exception/as_string>, L<category|WebService::
=head1 INHERITED METHODS
=over 4
=item L<WebService::Hydra::Exception>
L<as_json|WebService::Hydra::Exception/as_json>, L<as_string|WebService::Hydra::Exception/as_string>, L<category|WebService::
=head1 INHERITED METHODS
=over 4
=item L<WebService::Hydra::Exception>
L<as_json|WebService::Hydra::Exception/as_json>, L<as_string|WebService::Hydra::Exception/as_string>, L<category|WebService::
=head1 INHERITED METHODS
=over 4
=item L<WebService::Hydra::Exception>
L<as_json|WebService::Hydra::Exception/as_json>, L<as_string|WebService::Hydra::Exception/as_string>, L<category|WebService::
nings;
use Object::Pad;
class WebService::Hydra::Exception;
use Module::Load;
use JSON::MaybeUTF8 qw(encode_json_text);
use Log::Any qw($log);
our $VERSION = '0.005'; ## VERSION
=head1 NAM
s, "Details=" . encode_json_text($details) if @$details;
$string .= "(" . join(", ", @substrings) . ")" if @substrings;
return $string;
}
=head2 as_json
Returns a JSON string representation
of the exception.
=cut
method as_json {
my $data = {
Exception => blessed($self),
Category => $self->category,
Message => $self->message,
Details => $self->d
=head1 INHERITED METHODS
=over 4
=item L<WebService::Hydra::Exception>
L<as_json|WebService::Hydra::Exception/as_json>, L<as_string|WebService::Hydra::Exception/as_string>, L<category|WebService::
and the payload. It sends the request to the Hydra service, parses the response and returns:
1. JSON object of code and data returned from the service.
2. Error string in case an exception is thrown
e authorization code with Hydra service for access and ID tokens.
=head2 fetch_jwks
Fetches the JSON Web Key Set published by Hydra which is used to validate signatures.
=head2 fetch_openid_configu
=head1 INHERITED METHODS
=over 4
=item L<WebService::Hydra::Exception>
L<as_json|WebService::Hydra::Exception/as_json>, L<as_string|WebService::Hydra::Exception/as_string>, L<category|WebService::
=head1 INHERITED METHODS
=over 4
=item L<WebService::Hydra::Exception>
L<as_json|WebService::Hydra::Exception/as_json>, L<as_string|WebService::Hydra::Exception/as_string>, L<category|WebService::
=head1 INHERITED METHODS
=over 4
=item L<WebService::Hydra::Exception>
L<as_json|WebService::Hydra::Exception/as_json>, L<as_string|WebService::Hydra::Exception/as_string>, L<category|WebService::
=head1 INHERITED METHODS
=over 4
=item L<WebService::Hydra::Exception>
L<as_json|WebService::Hydra::Exception/as_json>, L<as_string|WebService::Hydra::Exception/as_string>, L<category|WebService::
=head1 INHERITED METHODS
=over 4
=item L<WebService::Hydra::Exception>
L<as_json|WebService::Hydra::Exception/as_json>, L<as_string|WebService::Hydra::Exception/as_string>, L<category|WebService::
=head1 INHERITED METHODS
=over 4
=item L<WebService::Hydra::Exception>
L<as_json|WebService::Hydra::Exception/as_json>, L<as_string|WebService::Hydra::Exception/as_string>, L<category|WebService::
=head1 INHERITED METHODS
=over 4
=item L<WebService::Hydra::Exception>
L<as_json|WebService::Hydra::Exception/as_json>, L<as_string|WebService::Hydra::Exception/as_string>, L<category|WebService::
=head1 INHERITED METHODS
=over 4
=item L<WebService::Hydra::Exception>
L<as_json|WebService::Hydra::Exception/as_json>, L<as_string|WebService::Hydra::Exception/as_string>, L<category|WebService::
ce::Hydra::Client;
use HTTP::Tiny;
use Log::Any qw( $log );
use Crypt::JWT qw(decode_jwt);
use JSON::MaybeUTF8;
use WebService::Hydra::Exception;
use Syntax::Keyword::Try;
use constant OK_STATUS_C
s:
1. JSON object of code and data returned from the service.
2. Error string in case an exception is thrown.
=cut
method api_call ($method, $endpoint, $payload = undef, $content_type = 'json') {
-Type' => 'application/x-www-form-urlencoded',
'Accept' => 'application/json'
};
push(
@args,
{