Async::HTTP;
use IO::Async::Loop;
use Scalar::Util qw(blessed);
use URI;
use JSON::MaybeUTF8 qw(encode_json_utf8 decode_json_utf8);
use Syntax::Keyword::Try;
use Log::Any qw($log);
use Time::Moment;
>POST(
URI->new_abs($method, $self->base_uri),
encode_json_utf8(\%args),
content_type => 'application/json',
%{$self->basic_authentication},
)->then(
sub {