# Mojolicious::Plugin::Google::Cloud::UserAgent This module wraps a user agent object with a little OAuth2, making conversations with Google Cloud Platform APIs simple: # Mojolicious $self->plugin('Google::Cloud::UserAgent'); # Mojolicious::Lite plugin 'Google::Cloud::UserAgent' => { gcp_auth_file => $ENV{GCP_AUTH_FILE}, scopes => ['https://www.googleapis.com/auth/pubsub'], duration => 3600 }; # in a controller get '/' => sub { my $c = shift; $c->render_later; $c->app->gcp_ua(GET => "https://pubsub.googleapis.com/v1/projects/$ENV{GCP_PROJECT}/topics", sub { ## response handler my ($ua, $tx) = @_; $c->render(json => $tx->res->json, status => $tx->res->code); }, sub { ## error sub my ($tx, $c) = @_; $c->render(json => $tx->res->json, status => $tx->res->code); } ); }; See `perldoc Mojolicious::Plugin::Google::Cloud::UserAgent` for full usage.