# Shorthand private method for GET request with URL parameters sub _api_get($self, $uri_tail, $query_params) { my $uri= URI->new($self->base_uri . '/' . $uri_tail); $uri->query_form(%$query_params) if $query_params; my $req= HTTP::Request->new(GET => $uri, []); my $res= $self->_user_agent_request($req); return $self->_return_data_or_die_informatively($res, $req); } # Shorthand private method for POST request with JSON packet of parameters sub _api_post($self, $uri_tail, $query_params, $body_data) { my $uri= URI->new($self->base_uri . '/' . $uri_tail); $uri->query_form(%$query_params) if $query_params; my $req= HTTP::Request->new(POST => $uri, [Content_Type => 'application/json'], encode_json($body_data) ); my $res= $self->_user_agent_request($req); return $self->_return_data_or_die_informatively($res, $req); }